Ruoli dell'utente attualmente connesso


18

Come ottenere i ruoli dell'utente attualmente connesso in Drupal 8?

Ad esempio in D7 abbiamo $GLOBALS['user']->roles;

Risposte:


31

Qualcosa di simile a:

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

restituirà un array come:

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

dove i valori dell'array sono ID ruolo (equivalenti al nome macchina del ruolo in Drupal 7). Nel codice OO, utilizzare il meccanismo appropriato per ottenere l'utente corrente dal contenitore, ad es

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

Bella risposta, puoi aggiungere il codice per favore $container?
Allievo

@Pupil per accedere al contenitore in un contesto OO è necessario creare la classe e utilizzare l'iniezione delle dipendenze per chiamarla come mostrato qui ad esempio drupal.org/docs/8/api/services-and-dependency-injection/…
wranvaud

0

Per ottenere l'attuale ruolo utente in drupal 8 -

$role = \Drupal::currentUser()->getRoles();
foreach ($role as $value) {
   $role = $value;
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.