Funções de usuário atualmente logadas


18

Como obter as funções de usuário atualmente conectado no Drupal 8?

Por exemplo, em D7, temos $GLOBALS['user']->roles;

Respostas:


31

Algo como:

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

retornará uma matriz como:

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

onde os valores da matriz são IDs da função (equivalente ao nome da máquina da função no Drupal 7). No código OO, use o mecanismo apropriado para obter o usuário atual do contêiner, por exemplo

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

Boa resposta, você pode adicionar o código $container?
Aluno

@Pupil, a fim de acessar o contêiner em um contexto OO você deve criar a sua injecção classe e uso dependência de chamá-lo, como mostrado aqui, por exemplo drupal.org/docs/8/api/services-and-dependency-injection/...
wranvaud
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.