如何在用户注销时刷新浏览器选项卡

时间:2014-08-27 10:29:07

标签: php kohana kohana-3.3

如果登录用户打开两个选项卡并从任何一个打开的选项卡中注销,我该如何处理这种情况。我需要让其他浏览器选项卡知道用户已注销。并拒绝来自客户端本身的任何其他请求。

我正在使用PHP / Kohana

3 个答案:

答案 0 :(得分:1)

虽然I mostly agree with N.B.(“你可能不需要做任何事情”),但我可以想到几个选项:

  • 您的网页可以轮询您的服务器并检查会话状态。
  • 您的退出页面可能会更新a cookiethe Local Storage。其他页面将轮询此位置而不是您的服务器。

答案 1 :(得分:1)

有很多方法可以做到这一点。 一个使用Kohana请求的重定向路由 两个使用javascript检查并重新加载。

答案 2 :(得分:0)

使用kohana方式可能很简单。在您正在扩展或使用的主控制器中,在功能之前使用,您将确定用户是否已登录并在是或否采取某些操作。 只需使用kohana Auth模块登录用户,例如:

Auth::instance()->login($username, $password);

然后kohana会在登录时自动保存该用户。 你之前的功能应该包含:

if (!Auth::instance()->logged_in())
{
    //redirect to login page
}

这样,您将在尝试打开其他页面时检查用户是否已登录。 如果您还使用ajax,那么它也应该以相同的方式应用于主ajax控制器。

然后注销用户使用:

Auth::instance()->logout();