please take a look at the API and the specification. - JCR 2.0 provides AccessControlList - Jackrabbit API 2.0 in addition provides JackrabbitAccessControlList adding a couple of extensions.
the implementation of the final JCR 2.0 will be available as of JR 2.0. older versions of jackrabbit (1.5, 1.6) don't reflect the latest version of the specification but intermediate states. if you are talking about JCR 2.0, please make sure, you refer to one of the jackrabbit 2.0-xyz releases. angela Ben Short wrote:
Thanks Angela, Through a bit of trial and error I have the following which works as expected. AccessControlPolicyIterator it = adminAcm.getApplicablePolicies(testRootNode.getPath()); while ( it.hasNext() ) { AccessControlPolicy acp = it.nextAccessControlPolicy(); Privilege[] privileges = new Privilege[]{adminAcm.privilegeFromName(Privilege.JCR_WRITE)}; ((AbstractACLTemplate)acp).addEntry(new PrincipalImpl(anonymous.getUserID()), privileges, true); adminAcm.setPolicy(testRootNode.getPath(), acp); } superuser.save(); It seems odd to me that I have to cast the AcessControlPolicy to AbstractACLTemplate inorder, which is JackRabbit specific to add a new entry. I wonder what the JCR 2 api dose not define an interface? Regards Ben Short 2009/12/4 Angela Schreiber <[email protected]>please take a look at the API. AccessControlManager#getApplicablePolicies -> for policies that can but haven't yet been applied AccessControlManager#getPolicies -> for policies that have been applied at a given path and can be removed again or edited/reapplied angela
