Funciones de usuario actualmente conectadas


18

¿Cómo obtener los roles del usuario actualmente conectado en Drupal 8?

Por ejemplo en D7 tenemos $GLOBALS['user']->roles;

Respuestas:


31

Algo como:

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

devolverá una matriz como:

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

donde los valores de la matriz son ID de rol (equivalente al nombre de máquina del rol en Drupal 7). En el código OO, utilice el mecanismo apropiado para obtener el usuario actual del contenedor, p. Ej.

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

Buena respuesta, ¿puedes agregar el código $container?
Alumno

@Pupil para acceder al contenedor en un contexto OO, debe crear su clase y usar inyección de dependencia para llamarlo como se muestra aquí, por ejemplo drupal.org/docs/8/api/services-and-dependency-injection/…
wranvaud

0

Para obtener el rol de usuario actual en drupal 8:

$role = \Drupal::currentUser()->getRoles();
foreach ($role as $value) {
   $role = $value;
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.