liferay - Open Cmis API无法访问Alfresco的 "Inherit Parent Space Permissions"

标签 liferay acl alfresco cmis

我正在开发一个类似于“文档和媒体”的 liferay portlet,它连接到 Alfresco 存储库,并使用 apache Chemistry 开放 cmis API 与存储库项进行交互。

我几乎已经完成了通过 ACE 应用权限的工作,但我有一个主要问题,即处理 alfresco 的“继承父空间权限”功能,该功能将父文件夹的属性传播到所有子文件夹。看起来 cmis 不支持此功能,但我必须找到一种方法来从 liferay 编辑此属性。

虽然没有任何可用的高级 API 来编辑此属性,但我想我可以通过使用 Alfresco 的 REST API 来解决问题。 做类似 this 的事情也许吧。

但在这样做之前,我想确保没有其他方法可以做到这一点。我的意思是,这里缺少一个非常重要的功能。如果我理解正确的话,如果您无法访问该属性,您可以选择:

  1. 禁用所有项目的继承,并失去好处 来自继承和ACL传播。

  2. 或者启用 所有空间的继承,并且由于 ACL 的工作方式类似于授予规则 (并且不限制),让 child 的资源总是更少 当您在存储库中更深层次导航时会受到限制。这样,你 最终使所有受限资源非常接近 “公司之家”空间,并将高可用资源放在非常 在存储库空间结构的深处。

  3. 或者启用继承,并且每次您想要从某个权限中删除单个权限时 子资源,从另一个较低级别的 API 调用 alfresco, 禁用继承(并丢失所有传播的 ACE、所需的或 不是),然后再次添加必要的 A。

这对我来说听起来不合理,所以我真的担心我在这里遗漏了一些东西,比如主要的高级 API 功能。有人可以告诉我是否走在正确的轨道上,以及较低级别的 API 调用是否是唯一可用的选项?

最佳答案

CMIS 不支持更改 ACL 继承设置。您可以确定哪些 ACE 是继承的,但无法打开和关闭继承。您必须编写自己的 Web 脚本并从您的 portlet 调用它。

关于liferay - Open Cmis API无法访问Alfresco的 "Inherit Parent Space Permissions",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12076776/

相关文章:

liferay - 如何知道网站管理员和网站所有者拥有哪些权限?

PowerShell 设置 Acl 新对象 : Cannot find an overload for "FileSystemAccessRule" and the argument count: "4"

php - Laravel 使 Acl 用户具有权限(无等级/组)

Alfresco 共享高级搜索

ssl - Liferay 使用 http 和 https

liferay - Portlet 大小处理

java - Liferay 7 和 Vaadin 8 : Vaadin Shared is not active

linux - git pull 后,git pull 到 www 文件夹

javascript - 在 Alfresco 脚本中重命名文件

workflow - Alfresco:在另一个任务中显示任务字段(查看它们)