所以我将 session 的生命周期设置为两周,这样用户就不必多次登录或注销。但是今天我注意到一些事情,如果您注销它会破坏您的 session ,但会在您的浏览器上保留记住我的 cookie。这会导致问题,因为如果您在同一台计算机上切换帐户足够多 8-10 次,您会收到 400 错误请求错误,因为您发送了太多信息。现在 8-10 次在 cookie 的正常生命周期中有点牵强,但当你的生命周期是两周时,我遇到了问题。
这是多次登录和退出时发生的情况的屏幕截图。 如何在用户注销时删除生命周期 cookie?到目前为止,我已经尝试过了
Auth::logout();
Session::flush();
最佳答案
似乎 cookie 不会自动取消设置。但是,您可以在注销后在返回重定向响应之前在您的 Controller 中执行此操作。
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,否则将无法正常工作。
关于php - Laravel Auth::logout 不删除记住我的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30466388/