0

在 drupal 中,一旦启动了用户身份验证的会话,并且在该会话结束之前,用户将不必重新进行身份验证。但是在我的站点中,用户可以重新进行身份验证。并且没有任何错误消息。有可能发生吗?以及如何检查用户是否已经登录并有会话?

我试图让所有登录的用户,但我不确定它会起作用:

$result = db_query('SELECT u.uid, u.name FROM {sessions} s INNER JOIN {users} u ON u.uid = s.uid WHERE s.uid != 0')->fetch(); 
4

1 回答 1

0
user_is_anonymous()

将告诉您当前用户是否已登录

另一种方法是使用全局 $user

global $user;
if($user->uid) 
  print('logged in');
else 
  print('logged out');

但是,登录的用户可以再次访问用户/登录是不正常的。Drupal 通常会重定向到用户的帐户页面。

于 2012-11-19T21:06:03.590 回答