class AccessManager implements AccessManagerInterface (View source)

Attaches access check services to routes and runs them on request.

Properties

protected RouteProviderInterface $routeProvider

The route provider.

protected ParamConverterManagerInterface $paramConverterManager

The paramconverter manager.

protected AccessArgumentsResolverFactoryInterface $argumentsResolverFactory

The access arguments resolver.

protected AccountInterface $currentUser

The current user.

protected CheckProviderInterface $checkProvider

The check provider.

Methods

__construct(RouteProviderInterface $route_provider, ParamConverterManagerInterface $paramconverter_manager, AccessArgumentsResolverFactoryInterface $arguments_resolver_factory, AccountInterface $current_user, CheckProviderInterface $check_provider)

Constructs an AccessManager instance.

checkNamedRoute(string $route_name, array $parameters = [], AccountInterface $account = NULL, bool $return_as_object = FALSE)

Checks a named route with parameters against applicable access check services.

checkRequest(Request $request, AccountInterface $account = NULL, bool $return_as_object = FALSE)

Execute access checks against the incoming request.

check(RouteMatchInterface $route_match, AccountInterface $account = NULL, Request $request = NULL, bool $return_as_object = FALSE)

Checks a route against applicable access check services.

performCheck(string $service_id, ArgumentsResolverInterface $arguments_resolver)

Performs the specified access check.

Details

__construct(RouteProviderInterface $route_provider, ParamConverterManagerInterface $paramconverter_manager, AccessArgumentsResolverFactoryInterface $arguments_resolver_factory, AccountInterface $current_user, CheckProviderInterface $check_provider)

Constructs an AccessManager instance.

Parameters

RouteProviderInterface $route_provider

The route provider.

ParamConverterManagerInterface $paramconverter_manager

The param converter manager.

AccessArgumentsResolverFactoryInterface $arguments_resolver_factory

The access arguments resolver.

AccountInterface $current_user

The current user.

CheckProviderInterface $check_provider

The check access provider.

bool|AccessResultInterface checkNamedRoute(string $route_name, array $parameters = [], AccountInterface $account = NULL, bool $return_as_object = FALSE)

Checks a named route with parameters against applicable access check services.

Determines whether the route is accessible or not.

Parameters

string $route_name

The route to check access to.

array $parameters

Optional array of values to substitute into the route path pattern.

AccountInterface $account

(optional) Run access checks for this account. Defaults to the current user.

bool $return_as_object

(optional) Defaults to FALSE.

Return Value

bool|AccessResultInterface

The access result. Returns a boolean if $return_as_object is FALSE (this is the default) and otherwise an AccessResultInterface object. When a boolean is returned, the result of AccessInterface::isAllowed() is returned, i.e. TRUE means access is explicitly allowed, FALSE means access is either explicitly forbidden or "no opinion".

bool|AccessResultInterface checkRequest(Request $request, AccountInterface $account = NULL, bool $return_as_object = FALSE)

Execute access checks against the incoming request.

Parameters

Request $request

The incoming request.

AccountInterface $account

(optional) Run access checks for this account. Defaults to the current user.

bool $return_as_object

(optional) Defaults to FALSE.

Return Value

bool|AccessResultInterface

The access result. Returns a boolean if $return_as_object is FALSE (this is the default) and otherwise an AccessResultInterface object. When a boolean is returned, the result of AccessInterface::isAllowed() is returned, i.e. TRUE means access is explicitly allowed, FALSE means access is either explicitly forbidden or "no opinion".

bool|AccessResultInterface check(RouteMatchInterface $route_match, AccountInterface $account = NULL, Request $request = NULL, bool $return_as_object = FALSE)

Checks a route against applicable access check services.

Determines whether the route is accessible or not.

Parameters

RouteMatchInterface $route_match

The route match.

AccountInterface $account

(optional) Run access checks for this account. Defaults to the current user.

Request $request

Optional, a request. Only supply this parameter when checking the incoming request, do not specify when checking routes on output.

bool $return_as_object

(optional) Defaults to FALSE.

Return Value

bool|AccessResultInterface

The access result. Returns a boolean if $return_as_object is FALSE (this is the default) and otherwise an AccessResultInterface object. When a boolean is returned, the result of AccessInterface::isAllowed() is returned, i.e. TRUE means access is explicitly allowed, FALSE means access is either explicitly forbidden or "no opinion".

protected AccessResultInterface performCheck(string $service_id, ArgumentsResolverInterface $arguments_resolver)

Performs the specified access check.

Parameters

string $service_id

The access check service ID to use.

ArgumentsResolverInterface $arguments_resolver

The parametrized arguments resolver instance.

Return Value

AccessResultInterface

The access result.

Exceptions

AccessException