Управляющий принятием решений об доступе
класс AccessDecisionManager реализует AccessDecisionManagerInterface
AccessDecisionManager — базовый класс для всех управляющих принятием решений об доступе, использующих избирателей решений.
Константы
| STRATEGY_AFFIRMATIVE | |
| STRATEGY_CONSENSUS | |
| STRATEGY_UNANIMOUS | |
Методы
| | __construct(array $voters, string $strategy = self::STRATEGY_AFFIRMATIVE, bool $allowIfAllAbstainDecisions = false, bool $allowIfEqualGrantedDeniedDecisions = true) | |
| bool | decide(TokenInterface $token, array $attributes, object $object = null) Определяет, возможен ли доступ или нет. | |
| bool | supportsAttribute(string $attribute) Проверяет, поддерживает ли управляющий принятием решений об доступе данный атрибут. | |
| true | supportsClass(string $class) Проверяет, поддерживает ли управляющий принятием решений об доступе данный класс. | |
Детали
__construct(array $voters, string $strategy = self::STRATEGY_AFFIRMATIVE, bool $allowIfAllAbstainDecisions = false, bool $allowIfEqualGrantedDeniedDecisions = true)
Параметры
| array | $voters | Массив экземпляров VoterInterface |
| string | $strategy | Стратегия голосования |
| bool | $allowIfAllAbstainDecisions | Разрешить доступ, если все избиратели воздержались |
| bool | $allowIfEqualGrantedDeniedDecisions | Разрешить доступ, если результаты равны |
Исключения
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)
Проверяет, поддерживает ли управляющий принятием решений об доступе данный класс.
Параметры
Возвращаемое значение
| true | если этот управляющий может обработать класс |