如果登录用户打开两个选项卡并从任何一个打开的选项卡中注销,我该如何处理这种情况。我需要让其他浏览器选项卡知道用户已注销。并拒绝来自客户端本身的任何其他请求。
我正在使用PHP / Kohana
答案 0 :(得分:1)
虽然I mostly agree with N.B.(“你可能不需要做任何事情”),但我可以想到几个选项:
答案 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();