我有一个由Maven sling-initial-content archetype生成的包,这意味着在安装bundle时将内容导入到存储库中。我希望匿名用户能够将子节点添加到特定节点,并且我希望在安装捆绑软件时自动设置这些权限。我尝试了以下操作(存储为内容目录中的JSON文件),但它会生成一个错误:Sling初始内容加载 - 如何设置访问权限?
“无法装入包的初始内容com.example.acltest:无法执行操作,节点受到保护。
{
"jcr:primaryType": "nt:unstructured",
"jcr:mixinTypes": ["rep:AccessControllable"],
"rep:policy": {
"jcr:primaryType": "rep:ACL",
"jcr:mixinTypes": ["sling:HierarchyNode"],
"allow": {
"jcr:primaryType": "rep:GrantACE",
"jcr:mixinTypes": ["sling:HierarchyNode"],
"rep:principalName": "anonymous",
"rep:privileges": ["jcr:addChildNodes"]
}
}
}
它有什么问题?老实说,我甚至不知道“节点受保护”是什么意思。
我检查了行为,在我的测试中,内容总是在我的OSGi组件被激活之前加载。所以就像你建议我现在在组件激活中设置ACL并且它可以工作。非常感谢您的帮助,伯特兰! – Markus