问题
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()
来源:https://stackoverflow.com/questions/7763150/how-to-set-the-sharing-rights-of-a-folder-in-plone