Have now tried to implement the AccessControlManager - but fail right away.
        private static void checkPolicy(String nodename) throws
RepositoryException {
                AccessControlManager acm =  session.getAccessControlManager();
                AccessControlPolicy[] acps = acm.getEffectivePolicies(nodename);
                for (AccessControlPolicy acp : acps) {
                        AccessControlList acl = (AccessControlList)acp;
                        for (AccessControlEntry ace :
acl.getAccessControlEntries()) {
                            LOGGER.info("ACE: {}", ace.getPrincipal());
                        }
                }
        }

I built this code based on the sample described in
"http://wiki.apache.org/jackrabbit/AccessControl";. But I don't get beyond the
line
          "AccessControlManager acm =  session.getAccessControlManager();"
it fails with:
Exception in thread "main" javax.jcr.UnsupportedRepositoryOperationException:
JCR-1104
        at
org.apache.jackrabbit.jcr2spi.SessionImpl.getAccessControlManager(SessionImpl.java:501)
        at
com.lsy.webcc.samples.acls.TestAccessControlManager.checkPolicy(TestAccessControlManager.java:109)
        at
com.lsy.webcc.samples.acls.TestAccessControlManager.<init>(TestAccessControlManager.java:102)
        at
com.lsy.webcc.samples.acls.TestAccessControlManager.main(TestAccessControlManager.java:162)

My program runs with jackrabbit-standalone-2.7.0.jar.

brgds,
Ulrich

Reply via email to