我需要构建一个 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)
谁能告诉我如何为团体做到这一点?
谢谢!
可以在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)
| 归档时间: |
|
| 查看次数: |
2665 次 |
| 最近记录: |