Как узнать, является ли пользователь посетителем или зарегистрированным пользователем?


30

Как я могу программно определить, является ли текущий пользователь анонимным или аутентифицированным?

Ответы:


57

Ради более надежного и описательного кода вы можете использовать удобный User::isAnonymous()метод, например

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

2
По возможности используйте такие методы: запрограммируйте интерфейс, а не реализацию. Использование IDE с дополнением кода неоценимо для работы в Drupal 8.
mpdonadio

3
Для всех, кто сталкивается с этим, обратите внимание, что \ Drupal :: currentUser () -> isAuthenticated () является эквивалентом D7 user_is_logged_in ()
Jaypan

Я создал собственный модуль и не могу заставить эту функцию работать. Что-то еще нужно добавить в мой модуль? Заранее спасибо.
SuperTony


-4

Вы можете использовать этот код ::

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

2
Код Drupal работает для Drupal 7, но не для Drupal 8
Dev

1
Да, и используйте === для строгого сравнения и поставьте пробел до и после вашего остального для стандартов кодирования: /
klidifia
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.