web-dev-qa-db-ja.com

ユーザーが訪問者または記録されたメンバーであるかをどのようにして知るのですか?

現在のユーザーが匿名であるか認証されているかをプログラムで判断するにはどうすればよいですか?

30
Axel Briche

より堅牢で記述的なコードのために、便利な User::isAnonymous() メソッドを利用できます。

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

isAnonymous()は、サイトがPrivateTempStoreにデータを(たとえばフォームで)保存しているときに機能しない危険を保持しています。したがって、私は以下を好みます:

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