以编程方式关闭“从更高级别继承权限”

时间:2012-10-30 15:02:28

标签: permissions plone zope

我正在尝试设置其他组不应该看到的一些组维护文件夹。目前,我通过在@@ sharing选项卡中取消选中“从更高级别继承权限”复选框来实现此目的,但我想自动执行此操作。

我在文档或谷歌搜索中找不到任何相关内容。在搜索egg目录后,我发现了一些有关'ac_inherited_permissions'的有趣内容,但没有任何内容作为我的解决方案跳出来。

我想做一些像obj.inherited_permissions = False,或者调用我需要的任何函数。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

共享选项卡仅影响本地角色。这些通常是从父项(已获取)继承而来,但您可以通过在对象上设置__ac_local_roles_block__True来明确阻止这些。

但是,请确保在未打开的对象上设置此项(无获取上下文):

from Acquisition import aq_base

aq_base(object).__ac_local_roles_block__ = True