AccessDecisionManager

class AccessDecisionManager implements AccessDecisionManagerInterface

AccessDecisionManager is the base class for all access decision managers that use decision voters.

Constants

STRATEGY_AFFIRMATIVE
STRATEGY_CONSENSUS
STRATEGY_UNANIMOUS

Methods

__construct(array $voters = array(), string $strategy = self::STRATEGY_AFFIRMATIVE, bool $allowIfAllAbstainDecisions = false, bool $allowIfEqualGrantedDeniedDecisions = true)
setVoters(array $voters)

Configures the voters.

bool decide(TokenInterface $token, array $attributes, object $object = null)

Decides whether the access is possible or not.

bool supportsAttribute(string $attribute)

Checks if the access decision manager supports the given attribute.

true supportsClass(string $class)

Checks if the access decision manager supports the given class.

Details

__construct(array $voters = array(), string $strategy = self::STRATEGY_AFFIRMATIVE, bool $allowIfAllAbstainDecisions = false, bool $allowIfEqualGrantedDeniedDecisions = true)

Parameters

array $voters An array of VoterInterface instances
string $strategy The vote strategy
bool $allowIfAllAbstainDecisions Whether to grant access if all voters abstained or not
bool $allowIfEqualGrantedDeniedDecisions Whether to grant access if result are equals

Exceptions

InvalidArgumentException

setVoters(array $voters)

Configures the voters.

Parameters

array $voters An array of VoterInterface instances

bool decide(TokenInterface $token, array $attributes, object $object = null)

Decides whether the access is possible or not.

Parameters

TokenInterface $token A TokenInterface instance
array $attributes An array of attributes associated with the method being invoked
object $object The object to secure

Return Value

bool true if the access is granted, false otherwise

bool supportsAttribute(string $attribute)

Checks if the access decision manager supports the given attribute.

Parameters

string $attribute An attribute

Return Value

bool true if this decision manager supports the attribute, false otherwise

true supportsClass(string $class)

Checks if the access decision manager supports the given class.

Parameters

string $class A class name

Return Value

true if this decision manager can process the class