Добавление нового разрешения для настройки панели управления в 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 "настройки получения разрешения").

Другие вопросы по тегам