如何在Plone 3中实现动态角色?

时间:2012-07-11 08:14:13

标签: plone

我希望在限定时间内允许某些用户访问某些内容, 在Plone 3中使用“动态角色”(http://collective-docs.readthedocs.org/en/latest/security/dynamic_roles.html)。

为此,我创建了一个带有示例代码复制粘贴的附加组件 - 除了现在getDummyRolesOnContext()总是返回我的角色。

但是Plone从不打电话,或者设置我的DummyLocalRoleAdapter,显然我的用户永远不会分配角色。

这是我目前所知道的:

  • 我的动态角色在rolemap.xml中定义,并在附加安装时创建。
  • 我的插件正在导入 - 第一行的例外情况阻止了Zope的启动
  • 没有调用DummyLocalRoleAdapter - 我已经用警告和例外加入了所有这些。
  • 适配器确实已注册。

如何继续调试 - 我缺少什么神奇的部分?

谢谢!

1 个答案:

答案 0 :(得分:1)

我的猜测是你需要以某种方式在acl_users中激活borg.localprole PAS插件:

https://github.com/plone/borg.localrole/blob/master/borg/localrole/utils.py

过去可能有borg.localrole附加安装程序条目,但现在似乎并不存在。我的猜测是你需要在自己的插件中手动调用borg.localrole附加设置代码中的操作。

正确安装borg.localroles时的acl_users:

acl_users when borg.localroles is active