【问题标题】:Laravel Auth::logout not removing remember me cookieLaravel Auth::logout 不删除记住我的 cookie
【发布时间】:2015-08-08 14:09:47
【问题描述】:

所以我将会话的生命周期设置为两周,这样用户就不必多次登录或注销。但是今天我注意到了一些事情,如果您注销它会破坏您的会话,但会在您的浏览器上保留记住我的 cookie。这会导致问题,因为如果您在同一台计算机上切换帐户足够多 8-10 次,您会收到 400 bad request 错误,因为您发送的信息太多。现在 8-10 次在一个 cookie 的正常生命周期中有点牵强,但是当你的生命周期是两周时,我遇到了问题。

这是连续登录和退出几次时发生的屏幕截图。 用户注销时如何删除终身cookie?到目前为止,我已经尝试过

    Auth::logout();
    Session::flush();

【问题讨论】:

    标签: php session laravel cookies laravel-4


    【解决方案1】:

    似乎 cookie 不会自动取消设置。但是,您可以在您的控制器中执行此操作就在注销后返回重定向响应之前

    public function getLogout() {
        // your code here
        .....
        // Get remember_me cookie name
        $rememberMeCookie = Auth::getRecallerName();
        // Tell Laravel to forget this cookie
        $cookie = Cookie::forget($rememberMeCookie);
    
        return Redirect::to('/')->withCookie($cookie);
    }
    

    只记得返回带有重定向的cookie,否则它将不起作用。

    【讨论】:

    • 这看起来确实像正在发生的事情,但是即使直接复制您的代码也不起作用。用户已注销,我在重定向中传回了值,但我仍然遇到相同的问题,多个 cookie 堆积,直到我崩溃
    猜你喜欢
    • 2013-12-05
    • 1970-01-01
    • 2016-02-16
    • 2014-10-03
    • 2014-04-20
    • 2016-04-01
    • 2012-03-22
    • 2016-05-16
    • 2018-03-28
    相关资源
    最近更新 更多