Rôles d'utilisateur actuellement connectés


18

Comment obtenir les rôles d'utilisateurs actuellement connectés dans Drupal 8?

Par exemple, en D7, nous avons $GLOBALS['user']->roles;

Réponses:


31

Quelque chose comme:

$current_user = \Drupal::currentUser();
$roles = $current_user->getRoles();

renverra un tableau comme:

Array
(
  [0] => authenticated
  [1] => administrator
  [2] => some_other_role
)

où les valeurs du tableau sont des ID de rôle (équivalent au nom de la machine du rôle dans Drupal 7). Dans le code OO, utilisez le mécanisme approprié pour obtenir l'utilisateur actuel du conteneur, par exemple

$current_user = $container->get('current_user');

Belle réponse, pouvez-vous s'il vous plaît ajouter le code pour $container?
Elève

@Pupil afin d'accéder au conteneur dans un contexte OO, vous devez créer votre classe et utiliser l'injection de dépendance pour l'appeler comme indiqué ici, par exemple drupal.org/docs/8/api/services-and-dependency-injection/…
wranvaud

0

Pour obtenir le rôle d'utilisateur actuel dans drupal 8 -

$role = \Drupal::currentUser()->getRoles();
foreach ($role as $value) {
   $role = $value;
}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.