public function AccessManager::check

Checks a route against applicable access check services.

Determines whether the route is accessible or not.

Parameters

\Symfony\Component\Routing\Route $route: The route to check access to.

\Symfony\Component\HttpFoundation\Request $request: The incoming request object.

Return value

bool Returns TRUE if the user has access to the route, otherwise FALSE.

Throws

\Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException If any access check denies access or none explicitly approve.

File

drupal/core/lib/Drupal/Core/Access/AccessManager.php, line 103
Contains Drupal\Core\Access\AccessManager.

Class

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

Namespace

Drupal\Core\Access

Code

public function check(Route $route, Request $request) {
  $checks = $route
    ->getOption('_access_checks') ?: array();
  $conjunction = $route
    ->getOption('_access_mode') ?: 'ANY';
  if ($conjunction == 'ALL') {
    return $this
      ->checkAll($checks, $route, $request);
  }
  else {
    return $this
      ->checkAny($checks, $route, $request);
  }
}