Acl
class Acl implements AuditableAclInterface, NotifyPropertyChanged
An ACL implementation.
Each object identity has exactly one associated ACL. Each ACL can have four different types of ACEs (class ACEs, object ACEs, class field ACEs, object field ACEs).
You should not iterate over the ACEs yourself, but instead use isGranted(), or isFieldGranted(). These will utilize an implementation of PermissionGrantingStrategy internally.
Methods
| __construct(int $id, ObjectIdentityInterface $objectIdentity, PermissionGrantingStrategyInterface $permissionGrantingStrategy, array $loadedSids = array(), bool $entriesInheriting) Constructor | ||
| addPropertyChangedListener(PropertyChangedListener $listener) Adds a property changed listener | ||
| deleteClassAce(int $index) Deletes a class-based ACE | ||
| deleteClassFieldAce(int $index, string $field) Deletes a class-field-based ACE | ||
| deleteObjectAce(int $index) Deletes an object-based ACE | ||
| deleteObjectFieldAce(int $index, string $field) Deletes an object-field-based ACE | ||
| array | getClassAces() Returns all class-based ACEs associated with this ACL | |
| array | getClassFieldAces(string $field) Returns all class-field-based ACEs associated with this ACL | |
| array | getObjectAces() Returns all object-based ACEs associated with this ACL | |
| array | getObjectFieldAces(string $field) Returns all object-field-based ACEs associated with this ACL | |
| int | getId() Returns the primary key of this ACL | |
| ObjectIdentityInterface | getObjectIdentity() Returns the object identity associated with this ACL | |
| AclInterface|null | getParentAcl() Returns the parent ACL, or null if there is none. | |
| insertClassAce(SecurityIdentityInterface $sid, int $mask, int $index, bool $granting = true, string $strategy = null) Inserts a class-based ACE | ||
| insertClassFieldAce(string $field, SecurityIdentityInterface $sid, int $mask, int $index, bool $granting = true, string $strategy = null) Inserts a class-field-based ACE | ||
| insertObjectAce(SecurityIdentityInterface $sid, int $mask, int $index, bool $granting = true, string $strategy = null) Inserts an object-based ACE | ||
| insertObjectFieldAce(string $field, SecurityIdentityInterface $sid, int $mask, int $index, bool $granting = true, string $strategy = null) Inserts an object-field-based ACE | ||
| bool | isEntriesInheriting() Whether this ACL is inheriting ACEs from a parent ACL. | |
| bool | isFieldGranted(string $field, array $masks, array $securityIdentities, bool $administrativeMode = false) Determines whether field access is granted | |
| bool | isGranted(array $masks, array $securityIdentities, bool $administrativeMode = false) Determines whether access is granted | |
| bool | isSidLoaded($sids) Whether the ACL has loaded ACEs for all of the passed security identities | |
| string | serialize() Implementation for the \Serializable interface | |
| unserialize(string $serialized) Implementation for the \Serializable interface | ||
| setEntriesInheriting(bool $boolean) Sets whether entries are inherited | ||
| setParentAcl(AclInterface $acl = null) Sets the parent ACL | ||
| updateClassAce(int $index, int $mask, string $strategy = null) Updates a class-based ACE | ||
| updateClassFieldAce(int $index, string $field, int $mask, string $strategy = null) Updates a class-field-based ACE | ||
| updateObjectAce(int $index, int $mask, string $strategy = null) Updates an object-based ACE | ||
| updateObjectFieldAce(int $index, string $field, int $mask, string $strategy = null) Updates an object-field-based ACE | ||
| updateClassAuditing(int $index, bool $auditSuccess, bool $auditFailure) Updates auditing for class-based ACE | ||
| updateClassFieldAuditing(int $index, string $field, bool $auditSuccess, bool $auditFailure) Updates auditing for class-field-based ACE | ||
| updateObjectAuditing(int $index, bool $auditSuccess, bool $auditFailure) Updates auditing for object-based ACE | ||
| updateObjectFieldAuditing(int $index, string $field, bool $auditSuccess, bool $auditFailure) Updates auditing for object-field-based ACE |
Details
__construct(int $id, ObjectIdentityInterface $objectIdentity, PermissionGrantingStrategyInterface $permissionGrantingStrategy, array $loadedSids = array(), bool $entriesInheriting)
Constructor
Parameters
| int | $id | |
| ObjectIdentityInterface | $objectIdentity | |
| PermissionGrantingStrategyInterface | $permissionGrantingStrategy | |
| array | $loadedSids | |
| bool | $entriesInheriting |
addPropertyChangedListener(PropertyChangedListener $listener)
Adds a property changed listener
Parameters
| PropertyChangedListener | $listener |
deleteClassAce(int $index)
Deletes a class-based ACE
Parameters
| int | $index |
deleteClassFieldAce(int $index, string $field)
Deletes a class-field-based ACE
Parameters
| int | $index | |
| string | $field |
deleteObjectAce(int $index)
Deletes an object-based ACE
Parameters
| int | $index |
deleteObjectFieldAce(int $index, string $field)
Deletes an object-field-based ACE
Parameters
| int | $index | |
| string | $field |
array getClassAces()
Returns all class-based ACEs associated with this ACL
Return Value
| array |
array getClassFieldAces(string $field)
Returns all class-field-based ACEs associated with this ACL
Parameters
| string | $field |
Return Value
| array |
array getObjectAces()
Returns all object-based ACEs associated with this ACL
Return Value
| array |
array getObjectFieldAces(string $field)
Returns all object-field-based ACEs associated with this ACL
Parameters
| string | $field |
Return Value
| array |
int getId()
Returns the primary key of this ACL
Return Value
| int |
ObjectIdentityInterface getObjectIdentity()
Returns the object identity associated with this ACL
Return Value
| ObjectIdentityInterface |
AclInterface|null getParentAcl()
Returns the parent ACL, or null if there is none.
Return Value
| AclInterface|null |
insertClassAce(SecurityIdentityInterface $sid, int $mask, int $index, bool $granting = true, string $strategy = null)
Inserts a class-based ACE
Parameters
| SecurityIdentityInterface | $sid | |
| int | $mask | |
| int | $index | |
| bool | $granting | |
| string | $strategy |
insertClassFieldAce(string $field, SecurityIdentityInterface $sid, int $mask, int $index, bool $granting = true, string $strategy = null)
Inserts a class-field-based ACE
Parameters
| string | $field | |
| SecurityIdentityInterface | $sid | |
| int | $mask | |
| int | $index | |
| bool | $granting | |
| string | $strategy |
insertObjectAce(SecurityIdentityInterface $sid, int $mask, int $index, bool $granting = true, string $strategy = null)
Inserts an object-based ACE
Parameters
| SecurityIdentityInterface | $sid | |
| int | $mask | |
| int | $index | |
| bool | $granting | |
| string | $strategy |
insertObjectFieldAce(string $field, SecurityIdentityInterface $sid, int $mask, int $index, bool $granting = true, string $strategy = null)
Inserts an object-field-based ACE
Parameters
| string | $field | |
| SecurityIdentityInterface | $sid | |
| int | $mask | |
| int | $index | |
| bool | $granting | |
| string | $strategy |
bool isEntriesInheriting()
Whether this ACL is inheriting ACEs from a parent ACL.
Return Value
| bool |
bool isFieldGranted(string $field, array $masks, array $securityIdentities, bool $administrativeMode = false)
Determines whether field access is granted
Parameters
| string | $field | |
| array | $masks | |
| array | $securityIdentities | |
| bool | $administrativeMode |
Return Value
| bool |
bool isGranted(array $masks, array $securityIdentities, bool $administrativeMode = false)
Determines whether access is granted
Parameters
| array | $masks | |
| array | $securityIdentities | |
| bool | $administrativeMode |
Return Value
| bool |
Exceptions
| NoAceFoundException | when no ACE was applicable for this request |
bool isSidLoaded($sids)
Whether the ACL has loaded ACEs for all of the passed security identities
Parameters
| $sids |
Return Value
| bool |
string serialize()
Implementation for the \Serializable interface
Return Value
| string |
unserialize(string $serialized)
Implementation for the \Serializable interface
Parameters
| string | $serialized |
setEntriesInheriting(bool $boolean)
Sets whether entries are inherited
Parameters
| bool | $boolean |
setParentAcl(AclInterface $acl = null)
Sets the parent ACL
Parameters
| AclInterface | $acl |
updateClassAce(int $index, int $mask, string $strategy = null)
Updates a class-based ACE
Parameters
| int | $index | |
| int | $mask | |
| string | $strategy | if null the strategy should not be changed |
updateClassFieldAce(int $index, string $field, int $mask, string $strategy = null)
Updates a class-field-based ACE
Parameters
| int | $index | |
| string | $field | |
| int | $mask | |
| string | $strategy | if null the strategy should not be changed |
updateObjectAce(int $index, int $mask, string $strategy = null)
Updates an object-based ACE
Parameters
| int | $index | |
| int | $mask | |
| string | $strategy | if null the strategy should not be changed |
updateObjectFieldAce(int $index, string $field, int $mask, string $strategy = null)
Updates an object-field-based ACE
Parameters
| int | $index | |
| string | $field | |
| int | $mask | |
| string | $strategy | if null the strategy should not be changed |
updateClassAuditing(int $index, bool $auditSuccess, bool $auditFailure)
Updates auditing for class-based ACE
Parameters
| int | $index | |
| bool | $auditSuccess | |
| bool | $auditFailure |
updateClassFieldAuditing(int $index, string $field, bool $auditSuccess, bool $auditFailure)
Updates auditing for class-field-based ACE
Parameters
| int | $index | |
| string | $field | |
| bool | $auditSuccess | |
| bool | $auditFailure |
updateObjectAuditing(int $index, bool $auditSuccess, bool $auditFailure)
Updates auditing for object-based ACE
Parameters
| int | $index | |
| bool | $auditSuccess | |
| bool | $auditFailure |
updateObjectFieldAuditing(int $index, string $field, bool $auditSuccess, bool $auditFailure)
Updates auditing for object-field-based ACE
Parameters
| int | $index | |
| string | $field | |
| bool | $auditSuccess | |
| bool | $auditFailure |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Security/Acl/Domain/Acl.html