Drupal 用户可以重新验证

Drupal 用户可以重新验证,drupal,drupal-7,drupal-modules,Drupal,Drupal 7,Drupal Modules,在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')->fe

在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(); 
将告诉您当前用户是否已登录

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

global $user;
if($user->uid) 
  print('logged in');
else 
  print('logged out');
但是,登录的用户不能再次访问用户/登录,这是不正常的。Drupal通常会重定向到用户的帐户页面

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