Найти - Пользователи
Полная версия: BB canView
Начало » Zope/Plone/Bluebream » BB canView
1
LightOfMooN
Опять возвращаюсь к вопросам безопасности:
Как определить, имеет принципал пермишн для какого-либо специфического вида, или нет?

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

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

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

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

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

Поэтому нужно использовать canAccess, определяя права относительно локальных объектов.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB