You are here

protected function TfaUserLoginBlock::blockAccess in Two-factor Authentication (TFA) 8

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 UserLoginBlock::blockAccess

See also

self::access()

File

src/Plugin/Block/TfaUserLoginBlock.php, line 71

Class

TfaUserLoginBlock
Provides a 'Tfa User login' block.

Namespace

Drupal\tfa\Plugin\Block

Code

protected function blockAccess(AccountInterface $account) {
  $access = parent::blockAccess($account);
  $tfaAccess = $this->tfaSettings
    ->get('enabled');
  $route_name = $this->routeMatch
    ->getRouteName();
  $disabled_route = in_array($route_name, [
    'tfa.entry',
  ]);
  if ($access
    ->isForbidden() || !$tfaAccess || $disabled_route) {
    return AccessResult::forbidden();
  }
  return $access;
}