You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Ian Boston <ie...@tfd.co.uk> on 2009/04/28 16:19:05 UTC
Implementing an AccesssControlProvider
I am trying to extend the standard acl.ACLProvider class so that I can
change the way principals are resolved.
all I want to do is change the way in which the ACE's are filtered in
ACLTemplate.collectEntries(...), probably 5 - 10 lines of code in
total, but the classes are so private and protected that the only way
I can do this appears to be to copy ACLProvider, ACLEditor, ACLTemplate
However when I do that, I discover that
protected SecurityItemModifier() {
Class cl = getClass();
if (!(cl.equals(UserManagerImpl.class) ||
cl.equals(ACLEditor.class) ||
cl
.equals
(org
.apache
.jackrabbit
.core.security.authorization.principalbased.ACLEditor.class))) {
throw new IllegalArgumentException("Only UserManagerImpl
and ACLEditor may extend from the SecurityItemModifier");
}
}
Only a set number of hard coded classes are allowed to extend the
Jackrabbit security model which makes the AccessControlProvider
interface a bit lame.
So my question,
what is the correct way to extend the security model or is the only
way to re-implement everything at the AccessControlManager level ?
Ian