我有一个超过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 :你知道其他方法可以做我需要的吗?
感谢。
答案 0 :(得分:1)
从https://github.com/share-extras/js-console获取Javascript控制台,并使用一些基本脚本设置权限。
假设您选择了父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。