¿Cómo saber si el usuario es visitante o miembro registrado?


30

¿Cómo puedo determinar programáticamente si el usuario actual es anónimo o está autenticado?

Respuestas:


57

En aras de un código más robusto y descriptivo, puede utilizar el User::isAnonymous()método práctico , por ejemplo

if (\Drupal::currentUser()->isAnonymous()) {
  // Anonymous user...
}

2
Siempre que sea posible, utilice métodos como este: programe la interfaz, no la implementación. Usar un IDE con finalización de código es invaluable para el trabajo de Drupal 8.
mpdonadio

3
Para cualquier otra persona que se encuentre con esto, tenga en cuenta que \ Drupal :: currentUser () -> isAuthenticated () es el equivalente de D7 user_is_logged_in ()
Jaypan

Creé un módulo personalizado y no puedo hacer que esta función funcione. ¿Hay algo adicional que necesito agregar en mi módulo? Gracias de antemano.
SuperTony

6
  $current= \Drupal::currentUser();
  if (!$current->id()) {
    // is visitor
  }
  else {
    // is logged
  }

-4

U puede usar este código ::

global $user;
if ($user->uid == 0) {
  //user is not logged in
}else{
  //user is logged in
}

2
El código de Drupal funciona para Drupal 7, pero no en Drupal 8
Dev

1
Sí, y use === para una comparación estricta y ponga espacio antes y después de su otro para los estándares de codificación: /
klidifia
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.