Derzeit angemeldete Benutzerrollen


18

Wie erhalte ich die aktuell angemeldeten Benutzerrollen in Drupal 8?

Zum Beispiel in D7 haben wir $GLOBALS['user']->roles;

Antworten:


31

Etwas wie:

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

Gibt ein Array wie folgt zurück:

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

Dabei sind die Array-Werte Rollen-IDs (entspricht dem Computernamen der Rolle in Drupal 7). Verwenden Sie im OO-Code den entsprechenden Mechanismus, um den aktuellen Benutzer aus dem Container abzurufen, z

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

Schöne Antwort, können Sie bitte den Code für hinzufügen $container?
Schüler

@Pupil Um in einem OO-Kontext auf den Container zuzugreifen, sollten Sie Ihre Klasse erstellen und mithilfe von Dependency Injection wie hier gezeigt aufrufen, z. B. drupal.org/docs/8/api/services-and-dependency-injection/…
wranvaud
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.