現在ログインしているユーザーの役割


18

Drupal 8で現在ログインしているユーザーのロールを取得する方法は?

たとえば、D7では $GLOBALS['user']->roles;

回答:


31

何かのようなもの:

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

次のような配列を返します:

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

ここで、配列値はロールIDです(Drupal 7のロールのマシン名に相当)。OOコードでは、適切なメカニズムを使用して、コンテナーから現在のユーザーを取得します。たとえば、

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

いい答え、コードを追加してもらえます$containerか?
生徒

@Pupil OOコンテキストでコンテナにアクセスするには、クラスを作成し、依存関係の注入を使用して、たとえばdrupal.org/docs/8/api/services-and-dependency-injection/…の
wranvaud
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.