AccessResult types in drupal 8 & 9
Drupal is using AccessResult objects for access checking. Here is a list of all the access results available.
- neutral
- allowed
- forbidden
- allowedIf
- forbiddenIf
- allowedIfHasPermission
- allowedIfHasPermissions
- isAllowed
- isForbidden
- isNeutral
- orIf
- andIf
This way, we can secure access to entities:
/**
* {@inheritdoc}
*/
protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account)
{
if ($operation === 'view') {
return AccessResult::allowedIfHasPermission($account, 'access content');
}
return parent::checkAccess($entity, $operation, $account);
}