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/4.0/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.html