我喜欢修改(通过子类化)Plone SecurityPolicy
(我想引入否定权限,但这不是我的问题的重点)并且没有办法这样做。
etc/site.zcml
中有一个名为securityPolicy
的属性指向AccessControl.security.SecurityPolicy
。但是那个阶级或者它的祖先被称为幽冥。而是在检查安全性时由cImplementation调用AccessControl.ImplPython.ZopeSecurityPolicy
。在代码中对此有一个蹩脚的评论,但不是更多。
如果更改etc/site.zcml
并将其指向自定义SecurityPolicy
,则该策略已在全局变量_defaultPolicy
中注册,但实际上没有任何更改。此外,对setSecurityPolicy
的调用(例如,由zope.processlifetime.IProcessStarting
触发)会更改全局但不起作用。
所以问题仍然突出:如何修改Plone SecurityPolicy?
请不要建议和讨论我为什么要更改安全策略以及是否有必要。我已经在zope3安全系统中长大,并喜欢在plone中使用更多的安全系统。请给我一个把手。