You are here

protected function UserLoginBlock::blockAccess in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/user/src/Plugin/Block/UserLoginBlock.php \Drupal\user\Plugin\Block\UserLoginBlock::blockAccess()

Indicates whether the block should be shown.

Blocks with specific access checking should override this method rather than access(), in order to avoid repeating the handling of the $return_as_object argument.

Parameters

\Drupal\Core\Session\AccountInterface $account: The user session for which to check access.

Return value

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

Overrides BlockBase::blockAccess

See also

self::access()

File

core/modules/user/src/Plugin/Block/UserLoginBlock.php, line 78
Contains \Drupal\user\Plugin\Block\UserLoginBlock.

Class

UserLoginBlock
Provides a 'User login' block.

Namespace

Drupal\user\Plugin\Block

Code

protected function blockAccess(AccountInterface $account) {
  $route_name = $this->routeMatch
    ->getRouteName();
  if ($account
    ->isAnonymous() && !in_array($route_name, array(
    'user.login',
    'user.logout',
  ))) {
    return AccessResult::allowed()
      ->addCacheContexts([
      'route.name',
      'user.roles:anonymous',
    ]);
  }
  return AccessResult::forbidden();
}