2

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

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

但是 Plone 从不调用或实例化我的 DummyLocalRoleAdapter,显然我的用户从未获得分配的角色。

到目前为止,这是我所知道的:

  • 我的动态角色在 rolemap.xml 中定义,并在附加安装时创建。
  • 正在导入我的附加组件 - 第一行的异常阻止 Zope 启动
  • 没有一个 DummyLocalRoleAdapter 被调用 - 我已经用警告和异常对它们进行了尖刺。
  • 适配器确实已注册。

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

谢谢!

4

1 回答 1

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 当 borg.localroles 处于活动状态时

于 2012-07-11T08:50:32.033 回答