I want to set sharing rights of many folders by using a Python script in a Plone site.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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',))
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()