Làm thế nào để biết người dùng là khách truy cập hoặc thành viên đăng nhập?


30

Làm cách nào để xác định theo chương trình xem người dùng hiện tại là ẩn danh hay được xác thực?

Câu trả lời:


57

Vì lợi ích của mã mô tả và mạnh mẽ hơn, bạn có thể sử dụng User::isAnonymous()phương thức tiện dụng , ví dụ:

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

2
Bất cứ khi nào có thể, sử dụng các phương thức như thế này: lập trình cho giao diện chứ không phải thực hiện. Sử dụng IDE hoàn thành w / code là vô giá đối với công việc Drupal 8.
mpdon Arena

3
Đối với bất kỳ ai khác gặp phải điều này, lưu ý rằng \ Drupal :: currentUser () -> isAuthenticated () tương đương với D7 user_is_logged_in ()
Jaypan

Tôi đã tạo một mô-đun tùy chỉnh và tôi không thể làm cho chức năng này hoạt động. Có cái gì đó tôi cần thêm vào trong mô-đun của tôi không? Cảm ơn bạn trước.
SuperTony

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

-4

Bạn có thể sử dụng mã này ::

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

2
Mã Drupal hoạt động cho Drupal 7, nhưng không hoạt động trong Drupal 8
Dev

1
Vâng và sử dụng === để so sánh chặt chẽ và đặt không gian trước và sau của bạn cho các tiêu chuẩn mã hóa: /
klidifia
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.