0

我正在使用 4.3.x 在本书的帮助下创建一个 Plone 站点

专业发展计划

所以我现在有 4 个成员:

  1. 经理
  2. 顾客
  3. 票务员
  4. 职员

这样我就根据角色自定义了一些权限,但我在某个时候被固定并且无法理解如何设置适当的权限,因为当我更改了我的权限时,它并没有反映在我的网站上,有两个选项,你可以在以下代码:

mp = portal.tickets.manage_permission

mp(CancelAndReinstate, ['Manager', 'Staff'], 0)

mp('Access contents information', ['Manager','staff'], 0)

mp(permissions.ListFolderContents, ['Manager',], 1)

mp(permissions.View, ['Manager','Customer' ], 1)

portal.tickets.reindexObject()

这里 0 和 1 做了什么,因为这些更改没有反映在我的网站上,所以我无法理解概念。我想根据用户角色创建不同的菜单。

4

3 回答 3

1

不知道什么是“portal.tickets”,但它似乎是一个网站的内容。如果是这样:你做错了。您永远不应该在 Plone 站点根目录之外的任何地方手动更新对象安全配置。

您可能需要为“tickets”文件夹和该文件夹下的内容定制工作流程。

于 2016-03-08T08:52:14.460 回答
0

第三个参数manage_permission告诉我们这个权限是否也继承自父文件夹:

def manage_permission(permission_to_manage, roles=[], acquire=0):
    """Change the settings for the given permission.

    If optional arg acquire is true, then the roles for the permission
    are acquired, in addition to the ones specified, otherwise the
    permissions are restricted to only the designated roles.
    """

( AccessControl/interfaces.py)

于 2016-03-08T07:08:24.397 回答
0

在 Plone 中设置权限的最常见和最直接的方法是使用通用设置并将 rolemap.xml 添加到您的默认(或升级)配置文件中。可以在以下位置找到一个非常好的和清晰的文档:http: //docs.plone.org/develop/plone/security/custom_permissions.html

于 2016-12-06T17:51:21.827 回答