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


30

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

Réponses:


57

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

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

2
Dans la mesure du possible, utilisez des méthodes comme celle-ci: programmez l'interface et non l'implémentation. L'utilisation d'un IDE avec complétion de code est inestimable pour le travail de Drupal 8.
mpdonadio

3
Pour tous ceux qui rencontrent cela, notez que \ Drupal :: currentUser () -> isAuthenticated () est l'équivalent de D7 user_is_logged_in ()
Jaypan

J'ai créé un module personnalisé et je n'arrive pas à faire fonctionner cette fonction. Y a-t-il quelque chose que je dois ajouter dans mon module? Merci d'avance.
SuperTony

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

-4

Vous pouvez utiliser ce code ::

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

2
Le code Drupal fonctionne pour Drupal 7, mais pas dans Drupal 8
Dev

1
Ouais et utilisez === pour une comparaison stricte et mettez de l'espace avant et après votre autre pour les normes de codage: /
klidifia
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.