Drupal身份验证用户无法注销

时间:2011-04-02 03:29:56

标签: drupal drupal-6 drupal-cache

我一直在努力找到解决我创建的这个新drupal网站时遇到的问题的方法。我创建了具有不同角色的各种用户,以测试他们给出的权限是否有序,并且弹出一个问题。这已在IE和Opera中测试过,Firefox似乎没有这个问题。如果我以身份验证的用户身份登录,我可以查看特定数据,如某些视图,某些页面等。在我注销并变为匿名后,我可以浏览,当然受限制,但在几秒钟内我发现用户再次登录。

Drupal版本:6.20
我在这里检查了这个链接(after logout some pages are show as logged in? #86),看起来很有希望,但没有明确的解决方案。这个链接(Session doesn't expire on user logout!)也指出这可能是一个缓存问题,但在按照第一个链接中的说明后,没有达到解决方案。

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:2)

使用此代码:

function hook_user($op, & $edit, & $account, $category = NULL) {
  switch ($op) {
    case 'logout':
      cache_clear_all();
      break;
  }
}

答案 1 :(得分:1)

我也不确定,我确实遇到了问题,当时CTRL + F5就是答案,所以我认为它肯定与缓存有关,是的,我在整个地方打开了标签

但是,如果有帮助,我会安装 masquerade module ,这允许我在我创建的各种用户角色之间切换回来,这在第一次开发和测试时非常棒/ p>

我在完成时禁用了它,但很快就重新启用它,因为它仍然有用,因为如果用户确实有问题我可以(仅限管理员权限)可以伪装成“看看他们看到的”

答案 2 :(得分:0)

如果您只有一个浏览器打开一个标签,您仍然会遇到问题吗?如果我有大量的浏览器和标签打开,有时我遇到问题,我一直在各种各样的用户登录和退出。

这可能不是你的问题,但我想我会提到它以防万一......:)

答案 3 :(得分:0)

如果您有权访问Drupal的数据库,您可以:

1)打开“用户”表  2)找到您当前登录的用户行  3)将'status'字段设置为0(1表示活动,0表示被阻止)  4)将此更新保存到表中  5)刷新网页,您应该被重定向到登录屏幕。

如果您以管理员身份登录,则可以使用“人员”标签更改已阻止的用户状态!