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