更新时间:2023-02-04 13:12:35
You need to look at the AccessControl/rolemanager.py
module for details; the sharing tab in Plone is a friendly wrapper around that API.
To add roles for a given userid, call manage_addLocalRoles
:
context.manage_addLocalRoles('userid', ('Role1', 'Role2',))
其他两个重要方法是manage_setLocalRoles(userid, roles)
(完全替换当前角色集)和manage_delLocalRoles(userid)
(删除所有角色). get_local_roles_for_userid(userid)
可能也很方便,以查看已经定义了哪些本地角色.
The other two important methods are manage_setLocalRoles(userid, roles)
(replace the current set of roles completely) and manage_delLocalRoles(userid)
(delete all roles). get_local_roles_for_userid(userid)
could be handy too, to see what local roles are already defined.
您希望在进行此类更改后为安全信息重新编制索引:
You want to reindex security information after such changes:
context.reindexObjectSecurity()