Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 8, 2010 13:15:20

LightOfMooN
От:
Зарегистрирован: 2010-09-11
Сообщения: 127
Репутация: +  0  -
Профиль   Отправить e-mail  

BB canView

Опять возвращаюсь к вопросам безопасности:
Как определить, имеет принципал пермишн для какого-либо специфического вида, или нет?

А конкретнее, где взять функцию canView, описанную здесь?
https://mail.zope.org/pipermail/zope3-users/2006-August/004201.html

Через canAccess у меня что-то подобное не выходит.



Офлайн

#2 Дек. 9, 2010 14:23:22

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

BB canView

по ссылке функции canView нету. Там есть только вопрос о том, существует ли подобная функция, и отрицательный ответ на него, читайте внимательнее :)

Нет существует никаких пермишн для видов.

При использовании zope.securitypolicy права (т.н. security checker'ы) определяются на локальных объектах (т.е. реализующих протокол zope.location.ILocation) путем “оборачивания” их в security прокси.
Эти локальные объекты играют роль “контекста” в видах. Такая система вполне удобна и гибка, поэтому данный secirity policy “включен” в фреймворках по умолчанию.

Когда Вы пишете <browser:page name=“foo” for=“IBar” …. permission=“baaz.View” /> это декларирует вид, доступный тем принципалам, которые имеют доступ “baaz.View” к локальному объекту (IBar), являющемуся контекстом для указанного вида.

Поэтому нужно использовать canAccess, определяя права относительно локальных объектов.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version