如何在露天

时间:2016-12-05 11:37:18

标签: alfresco cmis

您好每个人都提前感谢您的帮助。

我正在尝试在露天配置访问权限,现在卡在一个场景中 如果有人定义了实现此功能的正确方法,那将会很有帮助 现在我的问题是

我想创建一个网站(所有用户都可以访问)
然后将在该站点中创建文件夹和子文件夹(如果需要,我准备自定义这些文件夹的内容类型)
现在我想以这样的方式配置露天,即特定用户组可以访问特定文件夹及其内容 例如

This is list of user
user1,user2,user3,user4,user5  

And this is folder structure
Project 
  Data
    Test
    Exam
  Design
    art
    practice
  Work
    W1
    W2

现在如何以这样的方式配置它 user1可以访问Data-> Exam
user2可以访问工作及其所有子文件夹
user3可以访问数据及其所有子文件夹
user4可以访问Design及其所有子文件夹和
user5可以访问Data-> Work,Design-> art,Work-> W1文件夹

请注意,我使用CMIS API生成此文件夹结构 那么有什么办法可以通过java代码实现这个目的吗?

我已经阅读了关于管理权限但不确定使用它的原因只是因为当我试图提供文件夹权限时它只允许添加单个用户
但在我的情况下,我想制作一组用户,并希望该文件夹可由该微粒群访问。

非常感谢你的时间:)

2 个答案:

答案 0 :(得分:3)

如果您想使用群组,则需要使用管理控制台或Alfresco API在Alfresco中创建群组。 CMIS无法管理用户或组。

一旦您的用户和组到位,您就可以使用CMIS将它们分配给ACL。然而,挑战在于你可能需要禁用或者打破" ACL继承完全按照你的意愿去做。您无法使用CMIS API禁用ACL继承。您必须在UI中或通过Alfresco API执行此操作。

如果您的用户和组已配置并且文件夹已配置为根据需要继承或不继承父权限,您现在可以将用户和组添加到文件夹中。使用CMIS,您可以根据需要向给定文件夹添加任意数量的用户或组。它不限于单个用户或组。 This page有一些关于使用构成访问控制列表(ACL)的访问控制条目(ACE)的示例。

答案 1 :(得分:1)

我认为Jeff Potts的回答非常好,我只会添加一些你可以看到这篇文章的内容,它会给你一个如何使用ACL How to get Acls of a document的答案。

您还可以在任何文件夹(或文档)中使用允许的操作,它将如下所示:

 Action a = Action.CAN_DELETE_OBJECT;
 object = session.getObjectByPath(idObject); // In case it's a folder
 if (object.getAllowableActions().getAllowableActions().contains(a)) {

        return Boolean.TRUE;// You can do it 

 }

只记得您可以从String中获取允许的操作(如果您想要使用少数几个工作)

String canCreateFolder= Action.CAN_CREATE_FOLDER.value(); 

您必须使用的最重要的操作:

can_create_folder = Action.CAN_CREATE_FOLDER.value();
can_create_document = Action.CAN_CREATE_DOCUMENT.value();
can_update_folder = Action.CAN_UPDATE_PROPERTIES.value();
can_update_document = Action.CAN_UPDATE_PROPERTIES.value();
can_delete_folder = Action.CAN_DELETE_OBJECT.value();
can_delete_document = Action.CAN_DELETE_OBJECT.value();

希望能帮到你。