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