PermissionAccessCheck::access

public PermissionAccessCheck::access(Route $route, AccountInterface $account)

Checks access.

Parameters

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

\Drupal\Core\Session\AccountInterface $account: The currently logged in account.

Return value

\Drupal\Core\Access\AccessResultInterface The access result.

File

core/modules/user/src/Access/PermissionAccessCheck.php, line 27

Class

PermissionAccessCheck
Determines access to routes based on permissions defined via $module.permissions.yml files.

Namespace

Drupal\user\Access

Code

public function access(Route $route, AccountInterface $account) {
  $permission = $route->getRequirement('_permission');

  if ($permission === NULL) {
    return AccessResult::neutral();
  }

  // Allow to conjunct the permissions with OR ('+') or AND (',').
  $split = explode(',', $permission);
  if (count($split) > 1) {
    return AccessResult::allowedIfHasPermissions($account, $split, 'AND');
  }
  else {
    $split = explode('+', $permission);
    return AccessResult::allowedIfHasPermissions($account, $split, 'OR');
  }
}
doc_Drupal
2016-10-29 09:33:38
Comments
Leave a Comment

Please login to continue.