php - Laravel Auth::logout 不删除记住我的 cookie

标签 php session laravel cookies laravel-4

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

这是多次登录和退出时发生的情况的屏幕截图。 enter image description here如何在用户注销时删除生命周期 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/

相关文章:

php - 在单个 MySQL 中收集来自不同站点的记录

php - 如何解码/膨胀分块的 gzip 字符串?

java - JSESSIONID 根据要求在 chrome 中更改

java - 将 JMS TopicSession 转换为 AQjmsSession 时遇到问题

Laravel Bundle OneAuth 与 Sentry 的兼容性

php - Laravel 5.1 中使用 eloquent 进行内连接

php - 编码风格 : Tools to autoformat existing php files automatically?

php - cURL 请求未使用 CURLOPT_ENCODING 标志

c++ - 最佳实践 - session 处理/超时

php - 你如何获得 Laravel Storage 文件夹的路径?