会话销毁或关闭浏览器选项卡或关闭浏览器后,使用Laravel 5.2执行注销

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了会话销毁或关闭浏览器选项卡或关闭浏览器后,使用Laravel 5.2执行注销相关的知识,希望对你有一定的参考价值。

在我的项目中,我使用的是会话破坏方法,这种方法在Laravel 5.2中非常简单。

/*
    |--------------------------------------------------------------------------
    | Session Lifetime
    |--------------------------------------------------------------------------
    |
    | Here you may specify the number of minutes that you wish the session
    | to be allowed to remain idle before it expires. If you want them
    | to immediately expire on the browser closing, set that option.
    |
    */

    'lifetime' => 10,
    'expire_on_close' => true,

现在我的问题是当会话自动销毁或用户关闭浏览器选项卡或关闭浏览器时,执行注销查询。是否有可能在所有情况下执行注销功能?

我的注销功能

public function logout() 
{
    $user = Auth::user()->toArray();
    $user1 = ActiveUsers::where("assinedto_id",'=',$user['_id']);        
    $user1 ->delete();
    Auth::logout();
    return redirect('/login');
}

我想在会话销毁或关闭浏览器选项卡或关闭浏览器时运行logout()功能。请建议我。谢谢

答案

服务器不知道用户是否已关闭浏览器窗口。您需要在客户端通过javascript检测此事件并手动通知服务器。

看到这个答案:javascript detect browser close tab/close browser

另一答案

'expire_on_close'=> true,在app / config.php

以上是关于会话销毁或关闭浏览器选项卡或关闭浏览器后,使用Laravel 5.2执行注销的主要内容,如果未能解决你的问题,请参考以下文章

阻止用户关闭选项卡或浏览器窗口[关闭]

PHP - 关闭浏览器后会话销毁

如果音频正在另一个选项卡或窗口中播放,如何关闭声音

当用户关闭浏览器而不单击注销时销毁或取消设置会话[重复]

在JSP中销毁会话[关闭]

如何判断用户是关闭浏览器标签还是刷新页面