1

我正在向加载项添加新权限,以允许具有站点管理员角色的用户能够访问其控制面板 configlet。

我遵循了 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这里使用?

4

1 回答 1

3

创建新权限时您不需要任何rolemap.xml权限:将使用默认设置创建权限,您可以在 Zope 应用程序的根目录中看到,但您可以看到的角色很少。

rolemap.xml用于在安装插件的 Plone 站点的上下文中为角色分配权限。

我担心您所做的配置会产生副作用:

  • 您将权限分配给 ZMI 根目录中的“站点管理员”角色(未定义该角色)
  • 您只会在 Plone 站点根“安全”选项卡中看到为权限选择的“获取”检查

事情在这里仍然有效,但您没有从 ZMI 获得任何关于站点管理员如何/在何处获得此权限的明确视图。

我发现使用rolemap.xml更清洁的解决方案(通常我还将“获取权限设置”设置为 False)。

于 2015-07-07T08:09:33.180 回答