Rättigheter & roller
Varför rättigheter och roller?
- Bestämma tillgång till sökvägar.
- Bestämma vem som ska kunna hantera & se vilket innehåll.
- Bestämma vem som ska ha tillgång till viss funktionalitet.
Olika typer av kontroller
- _permission
- _role
-
_custom_access
_Permission
Text
_Permission
hello_world.content:
path: '/hello-world-permissions'
defaults:
_controller: '\Drupal\hello_world_permissions\Controller\HelloWorldPermissionsController::content'
_title: 'Hello Permissions'
requirements:
_permission: 'access hello world page'
Anger vilken rättighet som ska styra tillgång till vår route.
_Permission
access hello world page:
title: 'Access hello world page'
Definera egena permissions
hello_world_permissions.permissions.yml
_Role
Anger vilken roll som ska få tillgång till ens route.
hello_world.content:
path: '/hello-world-permissions'
defaults:
_controller: '\Drupal\hello_world_permissions\Controller\HelloWorldPermissionsController::content'
_title: 'Hello Permissions'
requirements:
_role: 'administrator'
_Custom
Används vid mer komplexa scenario
hello_world.content:
path: '/hello-world-permissions'
defaults:
_controller: '\Drupal\hello_world_permissions\Controller\HWPController::content'
_title: 'Hello Permissions'
requirements:
_custom_access: '\Drupal\hello_world_permissions\Controller\HWPController::access'
_Custom
Används vid mer komplexa scenario
use Drupal\Core\Session\AccountInterface;
use Drupal\Core\Access\AccessResult;
/**
* Check access for page.
*
* @return array
*/
public function access(AccountInterface $account) {
if ($account->getAccountName() == 'root') {
return AccessResult::allowed();
}
else {
return AccessResult::forbidden();
}
}
Uppgift 1
- Skapa en ny roll med namnet "VIP"
- Skapa en ny användare och ge användaren rollen "VIP".
- Skapa en modul med en ny route till en controller.
- Skapa en ny rättighet för sökvägen.
- Ge rollen "VIP" tillgång till sökvägen.
Uppgift 2
- Skapa en modul med en ny route till en controller.
- Skapa en access metod.
- Låt enbart användare med namnet på kontot ni skapade i uppgift 1 få tillgång till kontot.
Rättigheter & Roller
By Erik Johansson
Rättigheter & Roller
- 681