web-dev-qa-db-fra.com

Comment savoir si l'utilisateur est visiteur ou membre connecté?

Comment puis-je déterminer par programme si l'utilisateur actuel est anonyme ou authentifié?

30
Axel Briche

Pour un code plus robuste et descriptif, vous pouvez utiliser la méthode pratique User::isAnonymous() , par ex.

if (\Drupal::currentUser()->isAnonymous()) {
  // Anonymous user...
}
58
Clive
  $current= \Drupal::currentUser();
  if (!$current->id()) {
    // is visitor
  }
  else {
    // is logged
  }
6
Axel Briche

isAnonymous() présente le danger de ne pas fonctionner lorsqu'un site enregistre des données (par exemple dans des formulaires) dans PrivateTempStore. Par conséquent, je préfère ce qui suit:

if (\Drupal::currentUser()->isAuthenticated()) {
  // This user is logged in.
} else {
  // This user is anonymous.
}
1
Stef Van Looveren