MutableAclProvider
class MutableAclProvider extends AclProvider implements MutableAclProviderInterface, PropertyChangedListener
An implementation of the MutableAclProviderInterface using Doctrine DBAL.
Constants
| MAX_BATCH_SIZE |
Methods
| __construct(Connection $connection, PermissionGrantingStrategyInterface $permissionGrantingStrategy, array $options, AclCacheInterface $cache = null) Constructor. | ||
| array | findChildren(ObjectIdentityInterface $parentOid, bool $directChildrenOnly = false) Retrieves all child object identities from the database | from AclProvider |
| AclInterface | findAcl(ObjectIdentityInterface $oid, array $sids = array()) Returns the ACL that belongs to the given object identity | from AclProvider |
| SplObjectStorage | findAcls(array $oids, array $sids = array()) Returns the ACLs that belong to the given object identities | |
| MutableAclInterface | createAcl(ObjectIdentityInterface $oid) Creates a new ACL for the given object identity. | |
| deleteAcl(ObjectIdentityInterface $oid) Deletes the ACL for a given object identity. | ||
| deleteSecurityIdentity(SecurityIdentityInterface $sid) Deletes the security identity from the database. | ||
| propertyChanged(mixed $sender, string $propertyName, mixed $oldValue, mixed $newValue) Implementation of PropertyChangedListener | ||
| updateAcl(MutableAclInterface $acl) Persists any changes which were made to the ACL, or any associated access control entries. | ||
| updateUserSecurityIdentity(UserSecurityIdentity $usid, string $oldUsername) Updates a user security identity when the user's username changes |
Details
__construct(Connection $connection, PermissionGrantingStrategyInterface $permissionGrantingStrategy, array $options, AclCacheInterface $cache = null)
Constructor.
Parameters
| Connection | $connection | |
| PermissionGrantingStrategyInterface | $permissionGrantingStrategy | |
| array | $options | |
| AclCacheInterface | $cache |
array findChildren(ObjectIdentityInterface $parentOid, bool $directChildrenOnly = false)
Retrieves all child object identities from the database
Parameters
| ObjectIdentityInterface | $parentOid | |
| bool | $directChildrenOnly |
Return Value
| array | returns an array of child 'ObjectIdentity's |
AclInterface findAcl(ObjectIdentityInterface $oid, array $sids = array())
Returns the ACL that belongs to the given object identity
Parameters
| ObjectIdentityInterface | $oid | |
| array | $sids |
Return Value
| AclInterface |
Exceptions
| AclNotFoundException | when there is no ACL |
SplObjectStorage findAcls(array $oids, array $sids = array())
Returns the ACLs that belong to the given object identities
Parameters
| array | $oids | an array of ObjectIdentityInterface implementations |
| array | $sids | an array of SecurityIdentityInterface implementations |
Return Value
| SplObjectStorage | mapping the passed object identities to ACLs |
Exceptions
| AclNotFoundException | when we cannot find an ACL for all identities |
MutableAclInterface createAcl(ObjectIdentityInterface $oid)
Creates a new ACL for the given object identity.
Parameters
| ObjectIdentityInterface | $oid |
Return Value
| MutableAclInterface |
Exceptions
| AclAlreadyExistsException | when there already is an ACL for the given object identity |
deleteAcl(ObjectIdentityInterface $oid)
Deletes the ACL for a given object identity.
This will automatically trigger a delete for any child ACLs. If you don't want child ACLs to be deleted, you will have to set their parent ACL to null.
Parameters
| ObjectIdentityInterface | $oid |
deleteSecurityIdentity(SecurityIdentityInterface $sid)
Deletes the security identity from the database.
ACL entries have the CASCADE option on their foreign key so they will also get deleted
Parameters
| SecurityIdentityInterface | $sid |
Exceptions
| InvalidArgumentException |
propertyChanged(mixed $sender, string $propertyName, mixed $oldValue, mixed $newValue)
Implementation of PropertyChangedListener
This allows us to keep track of which values have been changed, so we don't have to do a full introspection when ->updateAcl() is called.
Parameters
| mixed | $sender | |
| string | $propertyName | |
| mixed | $oldValue | |
| mixed | $newValue |
Exceptions
| InvalidArgumentException |
updateAcl(MutableAclInterface $acl)
Persists any changes which were made to the ACL, or any associated access control entries.
Changes to parent ACLs are not persisted.
Parameters
| MutableAclInterface | $acl |
updateUserSecurityIdentity(UserSecurityIdentity $usid, string $oldUsername)
Updates a user security identity when the user's username changes
Parameters
| UserSecurityIdentity | $usid | |
| string | $oldUsername |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.html