我有一个包含300多个子文件夹的露天文件夹(PARENT_FOLDER
(,我想将使用者角色授予某个组(GROUP1
(和某个子文件夹(PARENT_FOLDER/FOLDER1
(,并将使用者角色赋予其他组(GROUP2
(和所有子文件夹。
所有子文件夹都已激活"继承父空间权限",并且父文件夹具有此空间用户权限:
OWNER_USER
:Coordinator
GROUP2
:Consumer
PARENT_FOLDER/FOLDER1
具有:
GROUP1
:Consumer
使用此配置:
GROUP2
可以访问PARENT_FOLDER
和所有子文件夹GROUP1
只能访问PARENT_FOLDER/FOLDER1
中包含的对象(按id(,但不能从对象的路径访问对象,并且CMIS客户端不能生成getParent((等。为了实现这一点,PARENT_FOLDER
必须具有GROUP1
:Consumer
授权,在这种情况下,GROUP1
可以访问所有子文件夹
我认为解决方案是撤销"继承父空间权限"并指定此用户空间权限:
PARENT_FOLDER
:OWNER_USER
:Coordinator
GROUP1
:Consumer
GROUP2
:Consumer
PARENT_FOLDER/FOLDER1
:OWNER_USER
:Coordinator
GROUP1
:Consumer
GROUP2
:Consumer
- 其他子文件夹与
PARENT_FOLDER/FOLDER1
不同:OWNER_USER
:Coordinator
GROUP2
:Consumer
但是让它变得非常困难,因为我无法选择许多子文件夹并更改它们的用户权限。我想从数据库模型(postgres(中创建它,但我没有足够的模型知识。我想从CMIS中更改权限,但我什么都没找到。
问题1:如何同时更改多个露天对象的空间用户权限?
问题2:你知道我需要的其他方法吗?
谢谢。
从https://github.com/share-extras/js-console并使用一些基本脚本设置权限。假设您选择父级为space
,它应该大致如下:
space.children.forEach(function(n) {
// use n.setPermission/removePermission/setInheritPermission
n.save();// Not quite sure whether save is needed here
});
ScriptNode API位于http://wiki.alfresco.com/wiki/4.0_JavaScript_API#Permission_and_Security_API.