|
Spring Security Framework | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.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
MutableAclServiceAcl object in the database. It will have no entries. The returned object
will then be used to add entries.
createAcl in interface MutableAclServiceobjectIdentity - the object identity to create
AlreadyExistsException - if the passed object identity already has a recordprotected void createEntries(MutableAcl acl)
acl - containing the ACEs to insert
protected 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 MutableAclServiceobjectIdentity - 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 MutableAclServiceacl - 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 | |||||||||