【问题标题】:How to manage access permission in alfresco如何在露天管理访问权限
【发布时间】:2016-12-05 11:37:18
【问题描述】:

大家好,提前感谢您的帮助。

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

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

我已阅读有关管理权限的信息,但不确定是否要使用它,因为当我尝试为文件夹提供权限时,它只允许添加单个用户
但在我的情况下,我想创建一个用户组,并希望该文件夹可以被该特定组访问。

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

【问题讨论】:

    标签: alfresco cmis


    【解决方案1】:

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

    一旦您的用户和组就位,您就可以使用 CMIS 将它们分配给 ACL。但是,挑战在于您可能需要禁用或“中断” ACL 继承才能完全按照您的意愿行事。您不能使用 CMIS API 禁用 ACL 继承。您必须在 UI 中或通过 Alfresco API 执行此操作。

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

    【讨论】:

    • 谢谢你,杰夫会尽力听从你的指示:)
    【解决方案2】:

    我认为 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();
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 2012-02-17
      • 2021-01-29
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多