Laravel 5 身份验证注销不起作用

2022-08-30 18:40:37

当我使用内置身份验证并尝试注销用户时 - 它没有按预期工作。它似乎使用户保持登录状态。但是当我清除浏览器缓存时,我可以看到实际上已经注销了用户。/auth/logout

我在页面上没有收到任何错误,也没有在日志文件中收到错误。

我猜在注销方法可能会解决这个问题 - 但我不知道把它放在哪里。有人能给我指出正确的方向吗?Session::flush()


答案 1

对于任何使用公认的解决方案解决问题的人:我从Laravel 5.1开始并更新到5.2。以下修复程序对我有用:

尝试将“注销”路由更改为

Route::get('auth/logout', 'Auth\AuthController@logout');

或在 AuthController 构造函数中添加

public function __construct()
{
    $this->middleware('guest', ['except' => ['logout', 'getLogout']]);
}

摘自:https://stackoverflow.com/a/34667356/1275778(如果您之后仍然遇到问题,也请检查那里的其他答案)


答案 2

试试这个..

放入以下代码“类身份验证控制器扩展控制器"

public function getLogout()
    {
        $this->auth->logout();
        Session::flush();
        return redirect('/');
    }

推荐