Управляющий принятием решений об доступе
класс AccessDecisionManager реализует AccessDecisionManagerInterface
AccessDecisionManager — базовый класс для всех управляющих принятием решений об доступе, использующих голосователей.
Постоянные значения
| STRATEGY_AFFIRMATIVE | |
| STRATEGY_CONSENSUS | |
| STRATEGY_UNANIMOUS |
Методы
| __construct(array $voters = array(), string $strategy = self::STRATEGY_AFFIRMATIVE, bool $allowIfAllAbstainDecisions = false, bool $allowIfEqualGrantedDeniedDecisions = true) | ||
| setVoters(array $voters) Настраивает голосователей. | ||
| bool | decide(TokenInterface $token, array $attributes, object $object = null) Определяет, возможен ли доступ или нет. | |
| bool | supportsAttribute(string $attribute) Проверяет, поддерживает ли управляющий принятием решений об доступе данный атрибут. | |
| true | supportsClass(string $class) Проверяет, поддерживает ли управляющий принятием решений об доступе данный класс. |
Подробности
__construct(array $voters = array(), string $strategy = self::STRATEGY_AFFIRMATIVE, bool $allowIfAllAbstainDecisions = false, bool $allowIfEqualGrantedDeniedDecisions = true)
Параметры
| array | $voters | Массив экземпляров VoterInterface |
| string | $strategy | Стратегия голосования |
| bool | $allowIfAllAbstainDecisions | Разрешить доступ, если все голосователи воздержались |
| bool | $allowIfEqualGrantedDeniedDecisions | Разрешить доступ, если результаты равны |
Исключения
| InvalidArgumentException |
setVoters(array $voters)
Настраивает голосователей.
Параметры
| array | $voters | Массив экземпляров VoterInterface |
bool decide(TokenInterface $token, array $attributes, object $object = null)
Определяет, возможен ли доступ или нет.
Параметры
| TokenInterface | $token | Экземпляр TokenInterface |
| array | $attributes | Массив атрибутов, связанных с вызываемым методом |
| object | $object | Объект для защиты |
Возвращаемое значение
| bool | true, если доступ предоставлен, false в противном случае |
bool supportsAttribute(string $attribute)
Проверяет, поддерживает ли управляющий принятием решений об доступе данный атрибут.
Параметры
| string | $attribute | Атрибут |
Возвращаемое значение
| bool | true, если данный управляющий поддерживает атрибут, false в противном случае |
true supportsClass(string $class)
Проверяет, поддерживает ли управляющий принятием решений об доступе данный класс.
Параметры
| string | $class | Имя класса |
Возвращаемое значение
| true | если этот управляющий может обработать класс |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.8/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.html