如何彻底删除Plone自定义权限?

时间:2013-01-18 12:05:07

标签: security permissions plone

你知道,你开始创建一个名为something.good的发行版,并在其上定义permissions.zcml,其中包含:{/ p>

<configure xmlns="http://namespaces.zope.org/zope">

  <permission
     id="something.good.reset"
     title="something.good: reset entries"
     />

</configure>

但是,一旦在服务器上安装了发行版,您就会意识到权限不够好,必须完全重构为something.else

something.good卸载plone_quickinstaller不会删除该权限。转到ZMI中的任何安全选项卡,您仍然可以看到它。

我四处查找文档,浏览AccessControlProducts.GenericSetup中的代码但找不到任何内容。

有关如何删除它的任何想法?

1 个答案:

答案 0 :(得分:1)

好的,所以Plone很容易,不要介意别人可能告诉你的事情。

那么,你(实际上我)想要删除一个权限定义? 就这么做!

因此,要检查以正确删除权限的事项列表是:

  • permissions.zcml移除权限
    • 如果没有权限,则删除对该文件的任何引用(可能在您的configure.zcml上)
  • 删除对profiles/default/rolemap.xml
  • 权限的所有引用
  • 扫描所有configure.zcml或python文件(如果使用类似grok的权限)来引用该权限

就是这样!

重新启动实例后,该权限将不再显示在ZMI的“安全”选项卡上。

似乎在启动时即时创建权限?对我来说似乎如此。虽然证明我错了!