Alfresco空间用户权限

时间:2014-07-02 08:58:23

标签: permissions alfresco

我有一个超过300个子文件夹的露天文件夹(PARENT_FOLDER),我想将消费者角色授予某个组(GROUP1)和某个子文件夹(PARENT_FOLDER/FOLDER1),以及消费者角色到其他组(GROUP2)和所有子文件夹。

所有子文件夹都具有"继承父级空间权限"已激活,父文件夹具有此空间用户权限:

  • OWNER_USERCoordinator
  • GROUP2Consumer

PARENT_FOLDER/FOLDER1有:

  • GROUP1Consumer

使用此配置:

  • GROUP2可以访问PARENT_FOLDER和所有子文件夹。
  • GROUP1仅限于PARENT_FOLDER/FOLDER1中包含的对象(通过id),但无法访问其路径中的对象,而CMIS客户端无法生成getParent()等。使其成为可能,PARENT_FOLDER必须具有GROUP1Consumer授权,在这种情况下,GROUP1可以访问所有子文件夹。

我认为解决方案是撤销"继承父空间权限"并指定此用户空间权限:

  • PARENT_FOLDER
    • OWNER_USERCoordinator
    • GROUP1Consumer
    • GROUP2Consumer
  • PARENT_FOLDER/FOLDER1
    • OWNER_USERCoordinator
    • GROUP1Consumer
    • GROUP2Consumer
  • 其他子文件夹与PARENT_FOLDER/FOLDER1不同:
    • OWNER_USERCoordinator
    • GROUP2Consumer

但要使它非常困难,因为我无法选择多个子文件夹并更改其用户权限。我希望从数据库模型(postgres)中获取它,但我还没有足够的模型知识来完成它。我想从CMIS那里改变这个许可,但我找不到任何东西。

问题1 :如何一次将空间用户权限更改为多个露天对象?

问题2 :你知道其他方法可以做我需要的吗?

感谢。

1 个答案:

答案 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