protected function MasqueradeBlock::blockAccess in Masquerade 8.2
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 BlockPluginTrait::blockAccess
See also
File
- src/
Plugin/ Block/ MasqueradeBlock.php, line 77
Class
- MasqueradeBlock
- Provides a 'Masquerade' block.
Namespace
Drupal\masquerade\Plugin\BlockCode
protected function blockAccess(AccountInterface $account) {
if ($account
->isAnonymous()) {
// Do not allow masquerade as anonymous user, use private browsing.
return AccessResult::forbidden();
}
if ($this->masquerade
->isMasquerading()) {
return AccessResult::forbidden()
->addCacheContexts([
'session.is_masquerading',
]);
}
// Display block for all users that has any of masquerade permissions.
return AccessResult::allowedIfHasPermissions($account, $this->masquerade
->getPermissions(), 'OR')
->addCacheContexts([
'session.is_masquerading',
]);
}