Retrieves access control lists (ACL) entries for domain object instances from a data access object (DAO).
This implementation will provide ACL lookup services for any object that it can determine the
AclObjectIdentity for by calling the
BasicAclProvider.obtainIdentity(Object) method. Subclasses can override this method
if they only want the BasicAclProvider responding to particular domain object instances.
BasicAclProvider will walk an inheritance hierarchy if a BasicAclEntry returned by
the DAO indicates it has a parent. NB: inheritance occurs at a domain instance object level. It does not
occur at an ACL recipient level. This means allBasicAclEntry s for a given domain instance
object must have the same parent identity, or allBasicAclEntry s must have
null as their parent identity.
A cache should be used. This is provided by the
BasicAclEntryCache . BasicAclProvider by
default is setup to use the
NullAclEntryCache , which performs no caching.
To implement the
BasicAclProvider.getAcls(Object,Authentication) method, BasicAclProvider requires a
EffectiveAclsResolver to be configured against it. By default the
GrantedAuthorityEffectiveAclsResolver is used.
author: Ben Alex version: $Id: BasicAclProvider.java 1782 2007-02-22 23:57:49Z luke_t $ |