Добавление нового разрешения для настройки панели управления в Plone
Я добавляю новое разрешение в надстройку, чтобы позволить пользователю с ролью "Администратор сайта" иметь доступ к его конфигурационному окну панели управления.
Я следовал документации Plone по созданию пользовательских разрешений, но я не понимаю необходимости rolemap.xml
файл, так как мое разрешение работает и работает без него:
<configure xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">
...
<permission
id="collective.upload.Setup"
title="collective.upload: Setup">
<role name="Manager"/>
<role name="Site Administrator"/>
</permission>
<browser:page
name="upload-settings"
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
class="collective.upload.controlpanel.UploadSettingsControlPanel"
permission="collective.upload.Setup"
/>
</configure>
Нужно ли использовать rolemap.xml
здесь или нет?
1 ответ
Для создания нового разрешения вам не нужно никаких rolemap.xml
: разрешение будет создано с настройками по умолчанию, которые вы можете увидеть в корне вашего приложения Zope, но там у вас мало видимых ролей.
rolemap.xml
используется для назначения разрешений ролям в контексте сайта Plone, на котором установлена надстройка.
Я боюсь, что с конфигурацией у вас есть побочные эффекты:
- Вы присвоили разрешение роли "Администратор сайта" в корне ZMI (где роль не определена)
- вы просто увидите чек "приобрести", выбранный для разрешения на вкладке "безопасность" корневого сайта Plone.
Здесь все еще работает, но у вас нет четкого представления от ZMI о том, как / где администратор сайта получает эти разрешения.
Я нахожу использование rolemap.xml
более чистое решение (обычно я также устанавливаю в False "настройки получения разрешения").