如何在露天管理访问权限

How to manage access permission in alfresco

大家好,在此先感谢您的帮助。

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

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

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 可以访问数据->考试
user2 可以访问工作及其所有子文件夹
user3 可以访问数据及其所有子文件夹
user4 可以访问 Design 及其所有子文件夹和
user5 可以访问 Data->Work, Design->art,Work->W1 文件夹

请注意,我正在使用 CMIS api 生成此文件夹结构 那么有什么方法可以仅通过 java 代码来实现吗?

我已经阅读了有关管理权限的内容,但不确定如何使用它,因为当我尝试提供对文件夹的权限时,它只允许添加单个用户
但就我而言,我想创建一个用户组,并希望该特定组可以访问该文件夹。

非常感谢您的宝贵时间:)

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

您的用户和组就位后,您可以使用 CMIS 将它们分配给 ACL。然而,挑战在于您可能需要禁用或 "break" ACL 继承才能完全按照您的意愿行事。您不能使用 CMIS API 禁用 ACL 继承。您必须在 UI 或通过 Alfresco API.

进行

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

我认为 Jeff Potts 的回答很棒,我只会添加一些你可以查看的内容 post 它会给你一个如何使用 ACL 的答案。

您还可以在任何文件夹(或文档)中使用允许的操作,它看起来像这样:

 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();

希望对您有所帮助。