Для чего нужен «view_permission» в портлете / configure.zcml? - PullRequest
3 голосов
/ 31 августа 2011

В <browser:page /> на Plone, у меня есть атрибут permission. Я могу добавить туда собственное разрешение и повысить безопасность при просмотре в браузере.

  <browser:page
      for="*"
      name="my_view"
      class=".myview.MyView"
      allowed_interface=".myview.IMyView"
      permission="my.permission"
      />

Просто добавив атрибут permission, он работает: при попытке сделать @@ my_view, он запрашивает логин.

Теперь давайте перейдем к портлетам: портлеты имеют view_permission, я думал, что сделает то же самое , или, по крайней мере, просто не будет отображать портлет, если у пользователя нет разрешение - но ни одна из этих ситуаций не происходит. Портлет отрисовывается без учета view_permission, поэтому мне все еще нужно использовать доступное свойство портлета , чтобы выполнить то, что я хочу (кажется, я не единственный , использующий этот подход ).

Итак, для чего view_permission? Я не могу найти документы для этого. Кажется, я мог бы использовать его как permission, как представления браузера, но, кажется, я не могу ...

1 Ответ

4 голосов
/ 01 сентября 2011

цель view_permission - ограничить портлет пользователями с определенным разрешением ... как сказано здесь:

http://svn.plone.org/svn/plone/plone.app.portlets/trunk/plone/app/portlets/metadirectives.py

здесь вы можете найти пример:

http://svn.plone.org/svn/plone/plone.portlet.collection/trunk/plone/portlet/collection/configure.zcml

редактировать : к сожалению, я должен изменить свой ответ ... цель view_permission должна быть , чтобы ограничить портлет пользователями с определенным разрешением. Но это еще не честь, как вы можете видеть здесь:

(Благодаря комментарию Ульриха Шварца, который подтолкнул меня к двойной проверке.)

...