si j'ai l'objet utilisateur actuel, comment puis-je obtenir une liste de toutes les autorisations qu'il a dans drupal 8 module personnalisé? Je ne veux pas vérifier une autorisation particulière qui serait $ current_user -> hasPermission ("permission_name").
Je veux obtenir la liste complète de ses autorisations.
merci
Pouvez-vous essayer l'extrait de code suivant:
$user = \Drupal::currentUser();
$user_roles = $user->getRoles();
$roles_permissions = user_role_permissions($user_roles);
Cela vous donnera des autorisations regroupées par rôles. Mais très probablement, vous les voulez dans un seul tableau.
Vous pouvez donc utiliser ce
$final_array = array();
foreach ($roles_permissions as $role_key => $permissions) {
foreach ($permissions as $permission) {
$final_array[] = $permission;
}
}
Si vous souhaitez charger un utilisateur différent de l'utilisateur actuellement connecté, vous pouvez utiliser
$some_user = \Drupal\user\Entity\User::load(123);
Où 123 représente l'ID utilisateur. Pour plus d'informations:
Meilleures salutations,
Oleg