MutableAclProvider
class MutableAclProvider extends AclProvider implements MutableAclProviderInterface, PropertyChangedListener
Реализация интерфейса MutableAclProviderInterface с использованием Doctrine DBAL.
Постоянные значения
| MAX_BATCH_SIZE |
Методы
| __construct(Connection $connection, PermissionGrantingStrategyInterface $permissionGrantingStrategy, array $options, AclCacheInterface $cache = null) | ||
| array | findChildren(ObjectIdentityInterface $parentOid, bool $directChildrenOnly = false) Возвращает все дочерние идентификаторы объектов из базы данных. | из AclProvider |
| AclInterface | findAcl(ObjectIdentityInterface $oid, array $sids = array()) Возвращает ACL, соответствующий данному идентификатору объекта. | из AclProvider |
| SplObjectStorage | findAcls(array $oids, array $sids = array()) Возвращает ACL, соответствующие заданным идентификаторам объектов. | |
| MutableAclInterface | createAcl(ObjectIdentityInterface $oid) Создаёт новый ACL для данного идентификатора объекта. | |
| deleteAcl(ObjectIdentityInterface $oid) Удаляет ACL для данного идентификатора объекта. | ||
| deleteSecurityIdentity(SecurityIdentityInterface $sid) Удаляет идентификатор безопасности из базы данных. | ||
| propertyChanged(mixed $sender, string $propertyName, mixed $oldValue, mixed $newValue) Реализация PropertyChangedListener. | ||
| updateAcl(MutableAclInterface $acl) Сохраняет все внесённые изменения в ACL или связанные с ним записи управления доступом. | ||
| updateUserSecurityIdentity(UserSecurityIdentity $usid, string $oldUsername) Обновляет идентификатор безопасности пользователя при изменении имени пользователя. |
Подробности
__construct(Connection $connection, PermissionGrantingStrategyInterface $permissionGrantingStrategy, array $options, AclCacheInterface $cache = null)
Параметры
| Подключение | $connection | |
| PermissionGrantingStrategyInterface | $permissionGrantingStrategy | |
| массив | $options | |
| AclCacheInterface | $cache |
array findChildren(ObjectIdentityInterface $parentOid, bool $directChildrenOnly = false)
Возвращает все дочерние идентификаторы объектов из базы данных.
Параметры
| ObjectIdentityInterface | $parentOid | |
| bool | $directChildrenOnly |
Значение, возвращаемое функцией
| массив | возвращает массив дочерних объектов 'ObjectIdentity' |
AclInterface findAcl(ObjectIdentityInterface $oid, array $sids = array())
Возвращает разрешение доступа, относящееся к заданному идентификатору объекта.
Параметры
| ObjectIdentityInterface | $oid | |
| массив | $sids |
Значение, возвращаемое функцией
| AclInterface |
Исключения
| AclNotFoundException | при отсутствии разрешения доступа |
SplObjectStorage findAcls(array $oids, array $sids = array())
Возвращает разрешения доступа, относящиеся к заданным идентификаторам объектов.
Параметры
| массив | $oids | массив реализаций ObjectIdentityInterface |
| массив | $sids | массив реализаций SecurityIdentityInterface |
Значение, возвращаемое функцией
| SplObjectStorage | отображение переданных идентификаторов объектов на разрешения доступа |
Исключения
| AclNotFoundException | если мы не можем найти разрешение доступа для всех идентификаторов |
MutableAclInterface createAcl(ObjectIdentityInterface $oid)
Создает новое разрешение доступа для заданного идентификатора объекта.
Параметры
| ObjectIdentityInterface | $oid |
Значение, возвращаемое функцией
| MutableAclInterface |
Исключения
| AclAlreadyExistsException | если для заданного идентификатора объекта уже существует разрешение доступа |
deleteAcl(ObjectIdentityInterface $oid)
Удаляет разрешение доступа для заданного идентификатора объекта.
Это автоматически вызовет удаление любых дочерних разрешений доступа. Если вы не хотите удалять дочерние разрешения доступа, вам нужно установить их родительское разрешение доступа в null.
Параметры
| ObjectIdentityInterface | $oid |
deleteSecurityIdentity(SecurityIdentityInterface $sid)
Удаляет идентификатор безопасности из базы данных.
Записи разрешений доступа имеют опцию CASCADE на внешнем ключе, поэтому они также будут удалены.
Параметры
| SecurityIdentityInterface | $sid |
Исключения
| InvalidArgumentException |
propertyChanged(mixed $sender, string $propertyName, mixed $oldValue, mixed $newValue)
Реализация PropertyChangedListener.
Это позволяет отслеживать изменения значений, чтобы не делать полное интроспекцию при вызове ->updateAcl().
Параметры
| mixed | $sender | |
| string | $propertyName | |
| mixed | $oldValue | |
| mixed | $newValue |
Исключения
| InvalidArgumentException |
updateAcl(MutableAclInterface $acl)
Сохраняет любые внесенные изменения в разрешении доступа или связанные с ним записи контроля доступа.
Изменения в родительских разрешениях доступа не сохраняются.
Параметры
| MutableAclInterface | $acl |
updateUserSecurityIdentity(UserSecurityIdentity $usid, string $oldUsername)
Обновляет идентификатор безопасности пользователя при изменении имени пользователя.
Параметры
| UserSecurityIdentity | $usid | |
| string | $oldUsername |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.7/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.html