Come sapere se l'utente è visitatore o membro registrato?


30

Come posso determinare programmaticamente se l'utente corrente è anonimo o autenticato?

Risposte:


57

Per motivi di codice più robusto e descrittivo, è possibile utilizzare il User::isAnonymous()metodo pratico , ad es

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

2
Quando possibile, utilizzare metodi come questo: programma per l'interfaccia, non per l'implementazione. L'uso di un IDE con completamento del codice è prezioso per il lavoro di Drupal 8.
mpdonadio

3
Per chiunque lo trovi, nota che \ Drupal :: currentUser () -> isAuthenticated () è l'equivalente di D7 user_is_logged_in ()
Jaypan

Ho creato un modulo personalizzato e non riesco a far funzionare questa funzione. C'è qualcosa in più che devo aggiungere nel mio modulo? Grazie in anticipo.
SuperTony,

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

-4

Puoi usare questo codice ::

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

2
Il codice Drupal funziona per Drupal 7, ma non in Drupal 8
Dev

1
Sì e usa === per un confronto rigoroso e metti spazio prima e dopo l'altro per gli standard di codifica: /
klidifia
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.