Comment puis-je déterminer par programme si l'utilisateur actuel est anonyme ou authentifié?
Pour un code plus robuste et descriptif, vous pouvez utiliser la méthode pratique User::isAnonymous()
, par ex.
if (\Drupal::currentUser()->isAnonymous()) {
// Anonymous user...
}
$current= \Drupal::currentUser();
if (!$current->id()) {
// is visitor
}
else {
// is logged
}
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.
}