Форум сайта python.su
Возьникла необходимость скрыть дерево zope3 от нежелательных глаз, например по ip адресу. Как это можно сделать?
Думаю в сторону - в кастомном скине, перегруженном от ротердама, сделать проверку ip адреса.
К примеру, когда надо было спрятать страницу ошибок зоуп сделал так
<browser:layer name=“defaultpage” />
<browser:skin name=“DefaultPage” layers=“defaultpage rotterdam
default” />
<browser:page
for=“zope.publisher.interfaces.INotFound”
name=“skin_macros”
permission=“zope.View”
layer=“defaultpage”
template=“archive.pt”
/>
то есть просто подменил системный макрос skin_macros в кастомном скине, перегруженном от ротердама на интерфейсе INotFound
Хотялось бы сделать что-нибудь такого же плана, но только с проверкой по ip - если нужный ip - вызывать системный макрос, а если жругой - ничего не показывать.
Отредактировано (Май 4, 2010 17:34:51)
Офлайн
А что за дерево? Речь про ZMI или вообще?
Я бы копал в сторону траверса, наверное. Т.е. его нужно переопределить для корня или правильного-контентного-объекта, насколько я помню, делается это всё просто и выглядит кошерно.
..bw
Офлайн
Разобрался, тут хорошо написано
http://www.zopemag.com/Issue004/Issue004/Section_Articles/Zope3SkinsForDevelopers.html
Офлайн