CQ5 / AEM 使用 curl 更改组的权限

Gre*_*ett 0 curl aem

我需要构建一个 curl 命令,该命令将更改存储库中特定节点上组的读取等权限。我显然可以手动执行此操作,但需要创建一个脚本。我已经看到为用户执行此操作的示例,但我无法使其适用于组。在我下面的示例中,“acme-authors”是一个组。

产生明显正确的响应,但不会改变任何东西

curl -u admin:admin -F:applyTo=acme-authors \
    http://server.com:4502/etc/tags/acme.acl.json
Run Code Online (Sandbox Code Playgroud)

给出“没有找到 principalId”错误

curl -u admin:admin -FprincipalId=acme-authors -Fprivilege@jcr:read=denied \
    http://server.com:4502/etc/tags/acme.acl.json

curl -u admin:admin -FgroupId=acme-authors -Fprivilege@jcr:read=denied \
    http://server.com:4502/etc/tags/acme.acl.json
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何为团体做到这一点?

谢谢!

Tom*_*wek 5

可以在Sling 网站上找到 RESTful ACL 服务的完整文档。

在以下示例中,我将使用 Geometrixx 标签和组,因此可以在干净的 AEM 5.6 上测试它们。顺便说一句:我的实例没有jackrabbit-accessmanager包,我必须从这里手动安装它。

读取ACL

为了读取当前的 ACL,发送一个带有acl选择器的 GET 请求:

curl -u admin:admin http://localhost:4502/etc/tags/marketing.acl.json
Run Code Online (Sandbox Code Playgroud)

您还可以使用eacl选择器列出有效的(继承的)ACL :

curl -u admin:admin http://localhost:4502/etc/tags/marketing.eacl.json
Run Code Online (Sandbox Code Playgroud)

设置权限

发送带有modifyAce选择器和principalId参数的POST 请求:

curl -u admin:admin -FprincipalId=content-authors -Fprivilege@jcr:read=denied \
    http://localhost:4502/etc/tags/marketing.modifyAce.json
Run Code Online (Sandbox Code Playgroud)

删除权限

发送带有deleteAce选择器和:applyTo参数的POST 请求:

curl -u admin:admin -F:applyTo=content-authors \
    http://localhost:4502/etc/tags/marketing.deleteAce.json
Run Code Online (Sandbox Code Playgroud)