@Entity public class HibernateAclImpl extends Object implements org.acegisecurity.acls.Acl, org.acegisecurity.acls.MutableAcl, org.acegisecurity.acls.AuditableAcl, org.acegisecurity.acls.OwnershipAcl, HibernateAcl
| Constructor and Description |
|---|
HibernateAclImpl()
No-argument constructor for use by reflection-based persistence tools along with field-level access.
|
HibernateAclImpl(org.acegisecurity.acls.objectidentity.ObjectIdentity objectIdentity,
org.acegisecurity.acls.Acl parentAcl,
boolean entriesInheriting,
org.acegisecurity.acls.sid.Sid owner)
Instantiation of type properties - to be used when creating via
MutableAclService.createAcl(ObjectIdentity) |
HibernateAclImpl(org.acegisecurity.acls.objectidentity.ObjectIdentity objectIdentity,
Serializable id,
org.acegisecurity.acls.domain.AclAuthorizationStrategy aclAuthorizationStrategy)
Minimal constructor, which should be used
MutableAclService.createAcl(ObjectIdentity). |
HibernateAclImpl(org.acegisecurity.acls.objectidentity.ObjectIdentity objectIdentity,
Serializable id,
org.acegisecurity.acls.domain.AclAuthorizationStrategy aclAuthorizationStrategy,
org.acegisecurity.acls.Acl parentAcl,
org.acegisecurity.acls.sid.Sid[] loadedSids,
boolean entriesInheriting,
org.acegisecurity.acls.sid.Sid owner)
Full constructor, which should be used by persistence tools that do not provide field-level access features.
|
| Modifier and Type | Method and Description |
|---|---|
void |
deleteAce(Serializable aceId) |
boolean |
equals(Object o) |
List<org.acegisecurity.acls.AccessControlEntry> |
getAces() |
org.acegisecurity.acls.AccessControlEntry[] |
getEntries() |
Serializable |
getId() |
org.acegisecurity.acls.objectidentity.ObjectIdentity |
getObjectIdentity() |
org.acegisecurity.acls.sid.Sid |
getOwner() |
org.acegisecurity.acls.Acl |
getParentAcl() |
int |
hashCode() |
void |
insertAce(Serializable afterAceId,
org.acegisecurity.acls.Permission permission,
org.acegisecurity.acls.sid.Sid sid,
boolean granting) |
boolean |
isEntriesInheriting() |
boolean |
isGranted(org.acegisecurity.acls.Permission[] permission,
org.acegisecurity.acls.sid.Sid[] sids,
boolean administrativeMode)
Determines authorization.
|
boolean |
isSidLoaded(org.acegisecurity.acls.sid.Sid[] sids) |
void |
setAclAuthorizationStrategy(org.acegisecurity.acls.domain.AclAuthorizationStrategy aclAuthorizationStrategy) |
void |
setEntriesInheriting(boolean entriesInheriting) |
void |
setId(Serializable id) |
void |
setObjectIdentity(org.acegisecurity.acls.objectidentity.ObjectIdentity objectIdentity) |
void |
setOwner(org.acegisecurity.acls.sid.Sid newOwner) |
void |
setParent(org.acegisecurity.acls.Acl newParent) |
void |
setParent(org.acegisecurity.acls.MutableAcl newParent) |
void |
setParentAcl(org.acegisecurity.acls.Acl parentAcl) |
String |
toString() |
void |
updateAce(Serializable aceId,
org.acegisecurity.acls.Permission permission) |
void |
updateAuditing(Serializable aceId,
boolean auditSuccess,
boolean auditFailure) |
public HibernateAclImpl(org.acegisecurity.acls.objectidentity.ObjectIdentity objectIdentity,
Serializable id,
org.acegisecurity.acls.domain.AclAuthorizationStrategy aclAuthorizationStrategy)
MutableAclService.createAcl(ObjectIdentity).objectIdentity - the object identity this ACL relates to (required)id - the primary key assigned to this ACL (required)aclAuthorizationStrategy - authorization strategy (required)public HibernateAclImpl(org.acegisecurity.acls.objectidentity.ObjectIdentity objectIdentity,
Serializable id,
org.acegisecurity.acls.domain.AclAuthorizationStrategy aclAuthorizationStrategy,
@Nullable
org.acegisecurity.acls.Acl parentAcl,
@Nullable
org.acegisecurity.acls.sid.Sid[] loadedSids,
boolean entriesInheriting,
org.acegisecurity.acls.sid.Sid owner)
objectIdentity - the object identity this ACL relates to (required)id - the primary key assigned to this ACL (required)aclAuthorizationStrategy - authorization strategy (required)parentAcl - the parent (may be null)loadedSids - the loaded SIDs if only a subset were loaded (may be null)entriesInheriting - if ACEs from the parent should inherit into this ACLowner - the owner (required)public HibernateAclImpl()
public HibernateAclImpl(org.acegisecurity.acls.objectidentity.ObjectIdentity objectIdentity,
@Nullable
org.acegisecurity.acls.Acl parentAcl,
boolean entriesInheriting,
org.acegisecurity.acls.sid.Sid owner)
MutableAclService.createAcl(ObjectIdentity)parentAcl - objectIdentity - owner - entriesInheriting - public void deleteAce(Serializable aceId) throws org.acegisecurity.acls.NotFoundException
deleteAce in interface org.acegisecurity.acls.MutableAclorg.acegisecurity.acls.NotFoundExceptionpublic org.acegisecurity.acls.AccessControlEntry[] getEntries()
getEntries in interface org.acegisecurity.acls.AclgetEntries in interface org.acegisecurity.acls.MutableAclpublic Serializable getId()
getId in interface org.acegisecurity.acls.MutableAclpublic org.acegisecurity.acls.objectidentity.ObjectIdentity getObjectIdentity()
getObjectIdentity in interface org.acegisecurity.acls.Aclpublic org.acegisecurity.acls.sid.Sid getOwner()
getOwner in interface org.acegisecurity.acls.Acl@Nullable public org.acegisecurity.acls.Acl getParentAcl()
getParentAcl in interface org.acegisecurity.acls.Aclpublic void insertAce(@Nullable
Serializable afterAceId,
org.acegisecurity.acls.Permission permission,
org.acegisecurity.acls.sid.Sid sid,
boolean granting)
throws org.acegisecurity.acls.NotFoundException
insertAce in interface org.acegisecurity.acls.MutableAclorg.acegisecurity.acls.NotFoundExceptionpublic boolean isEntriesInheriting()
isEntriesInheriting in interface org.acegisecurity.acls.Aclpublic boolean isGranted(org.acegisecurity.acls.Permission[] permission,
org.acegisecurity.acls.sid.Sid[] sids,
boolean administrativeMode)
throws org.acegisecurity.acls.NotFoundException,
org.acegisecurity.acls.UnloadedSidException
permission and sid arguments is
extremely important! The method will iterate through each of the permissions in the order
specified. For each iteration, all of the sids will be considered, again in the order they are
presented. A search will then be performed for the first AccessControlEntry object that directly matches
that permission:sid combination. When the first full match is found (ie an ACE that has the
SID currently being searched for and the exact permission bit mask being search for), the grant or deny flag for
that ACE will prevail. If the ACE specifies to grant access, the method will return true. If the ACE
specifies to deny access, the loop will stop and the next permission iteration will be performed. If
each permission indicates to deny access, the first deny ACE found will be considered the reason for the failure
(as it was the first match found, and is therefore the one most logically requiring changes - although not
always). If absolutely no matching ACE was found at all for any permission, the parent ACL will be tried
(provided that there is a parent and isEntriesInheriting() is true. The parent ACL will
also scan its parent and so on. If ultimately no matching ACE is found, a NotFoundException will be
thrown and the caller will need to decide how to handle the permission check. Similarly, if any of the SID
arguments presented to the method were not loaded by the ACL, UnloadedSidException will be thrown.isGranted in interface org.acegisecurity.acls.Aclpermission - the exact permissions to scan for (order is important)sids - the exact SIDs to scan for (order is important)administrativeMode - if true denotes the query is for administrative purposes and no auditing
will be undertakentrue if one of the permissions has been granted, false if one of the
permissions has been specifically revokedorg.acegisecurity.acls.NotFoundException - if an exact ACE for one of the permission bit masks and SID combination could not be
foundorg.acegisecurity.acls.UnloadedSidException - if the passed SIDs are unknown to this ACL because the ACL was only loaded for a
subset of SIDspublic boolean isSidLoaded(org.acegisecurity.acls.sid.Sid[] sids)
isSidLoaded in interface org.acegisecurity.acls.Aclpublic void setEntriesInheriting(boolean entriesInheriting)
setEntriesInheriting in interface org.acegisecurity.acls.MutableAclpublic void setOwner(org.acegisecurity.acls.sid.Sid newOwner)
setOwner in interface org.acegisecurity.acls.OwnershipAclpublic void setParent(org.acegisecurity.acls.MutableAcl newParent)
public void updateAce(Serializable aceId, org.acegisecurity.acls.Permission permission) throws org.acegisecurity.acls.NotFoundException
updateAce in interface org.acegisecurity.acls.MutableAclorg.acegisecurity.acls.NotFoundExceptionpublic void updateAuditing(Serializable aceId, boolean auditSuccess, boolean auditFailure)
updateAuditing in interface org.acegisecurity.acls.AuditableAclpublic void setParentAcl(org.acegisecurity.acls.Acl parentAcl)
public void setParent(org.acegisecurity.acls.Acl newParent)
setParent in interface org.acegisecurity.acls.MutableAclpublic void setAclAuthorizationStrategy(org.acegisecurity.acls.domain.AclAuthorizationStrategy aclAuthorizationStrategy)
public List<org.acegisecurity.acls.AccessControlEntry> getAces()
public void setObjectIdentity(org.acegisecurity.acls.objectidentity.ObjectIdentity objectIdentity)
setObjectIdentity in interface HibernateAclpublic void setId(Serializable id)
Copyright © 2017 Atlassian Software Systems Pty Ltd. All rights reserved.