|
Spring Security Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.security.acls.jdbc.JdbcAclService org.springframework.security.acls.jdbc.JdbcMutableAclService
public class JdbcMutableAclService
Provides a base implementation of MutableAclService
.
Field Summary |
---|
Fields inherited from class org.springframework.security.acls.jdbc.JdbcAclService |
---|
jdbcTemplate, log |
Constructor Summary | |
---|---|
JdbcMutableAclService(DataSource dataSource,
LookupStrategy lookupStrategy,
AclCache aclCache)
|
Method Summary | |
---|---|
MutableAcl |
createAcl(ObjectIdentity objectIdentity)
Creates an empty Acl object in the database. |
protected void |
createEntries(MutableAcl acl)
Creates a new row in acl_entry for every ACE defined in the passed MutableAcl object. |
protected void |
createObjectIdentity(ObjectIdentity object,
Sid owner)
Creates an entry in the acl_object_identity table for the passed ObjectIdentity. |
protected Long |
createOrRetrieveClassPrimaryKey(Class clazz,
boolean allowCreate)
Retrieves the primary key from acl_class, creating a new row if needed and the allowCreate property is true. |
protected Long |
createOrRetrieveSidPrimaryKey(Sid sid,
boolean allowCreate)
Retrieves the primary key from acl_sid, creating a new row if needed and the allowCreate property is true. |
void |
deleteAcl(ObjectIdentity objectIdentity,
boolean deleteChildren)
Removes the specified entry from the database. |
protected void |
deleteEntries(Long oidPrimaryKey)
Deletes all ACEs defined in the acl_entry table belonging to the presented ObjectIdentity primary key. |
protected void |
deleteObjectIdentity(Long oidPrimaryKey)
Deletes a single row from acl_object_identity that is associated with the presented ObjectIdentity primary key. |
protected Long |
retrieveObjectIdentityPrimaryKey(ObjectIdentity oid)
Retrieves the primary key from the acl_object_identity table for the passed ObjectIdentity. |
void |
setClassIdentityQuery(String identityQuery)
|
void |
setForeignKeysInDatabase(boolean foreignKeysInDatabase)
|
void |
setSidIdentityQuery(String identityQuery)
|
MutableAcl |
updateAcl(MutableAcl acl)
This implementation will simply delete all ACEs in the database and recreate them on each invocation of this method. |
protected void |
updateObjectIdentity(MutableAcl acl)
Updates an existing acl_object_identity row, with new information presented in the passed MutableAcl object. |
Methods inherited from class org.springframework.security.acls.jdbc.JdbcAclService |
---|
findChildren, readAclById, readAclById, readAclsById, readAclsById |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.springframework.security.acls.AclService |
---|
findChildren, readAclById, readAclById, readAclsById, readAclsById |
Constructor Detail |
---|
public JdbcMutableAclService(DataSource dataSource, LookupStrategy lookupStrategy, AclCache aclCache)
Method Detail |
---|
public MutableAcl createAcl(ObjectIdentity objectIdentity) throws AlreadyExistsException
MutableAclService
Acl
object in the database. It will have no entries. The returned object
will then be used to add entries.
createAcl
in interface MutableAclService
objectIdentity
- the object identity to create
AlreadyExistsException
- if the passed object identity already has a recordprotected void createEntries(MutableAcl acl)
acl
- containing the ACEs to insertprotected void createObjectIdentity(ObjectIdentity object, Sid owner)
object
- to represent an acl_object_identity forowner
- for the SID column (will be created if there is no acl_sid entry for this particular Sid already)protected Long createOrRetrieveClassPrimaryKey(Class clazz, boolean allowCreate)
clazz
- to find or create an entry for (this implementation uses the fully-qualified class name String)allowCreate
- true if creation is permitted if not found
protected Long createOrRetrieveSidPrimaryKey(Sid sid, boolean allowCreate)
sid
- to find or createallowCreate
- true if creation is permitted if not found
IllegalArgumentException
- DOCUMENT ME!public void deleteAcl(ObjectIdentity objectIdentity, boolean deleteChildren) throws ChildrenExistException
MutableAclService
deleteAcl
in interface MutableAclService
objectIdentity
- the object identity to removedeleteChildren
- whether to cascade the delete to children
ChildrenExistException
- if the deleteChildren argument was false
but children existprotected void deleteEntries(Long oidPrimaryKey)
oidPrimaryKey
- the rows in acl_entry to deleteprotected void deleteObjectIdentity(Long oidPrimaryKey)
We do not delete any entries from acl_class, even if no classes are using that class any longer. This is a deadlock avoidance approach.
oidPrimaryKey
- to delete the acl_object_identityprotected Long retrieveObjectIdentityPrimaryKey(ObjectIdentity oid)
createObjectIdentity(ObjectIdentity, Sid)
instead).
oid
- to find
public MutableAcl updateAcl(MutableAcl acl) throws NotFoundException
MutableAcl
.
updateAcl
in interface MutableAclService
acl
- DOCUMENT ME!
NotFoundException
- DOCUMENT ME!protected void updateObjectIdentity(MutableAcl acl)
acl
- to modify (a row must already exist in acl_object_identity)
NotFoundException
- DOCUMENT ME!public void setClassIdentityQuery(String identityQuery)
public void setSidIdentityQuery(String identityQuery)
public void setForeignKeysInDatabase(boolean foreignKeysInDatabase)
foreignKeysInDatabase
- if false this class will perform additional FK constrain checking, which may
cause deadlocks (the default is true, so deadlocks are avoided but the database is expected to enforce FKs)
|
Spring Security Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |