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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.