Laravel 8自定义注销方法不起作用,也没有注销用户



我正在使用Laravel 8,我想构建自己的注销方法,如下所示:

public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
if ($response = $this->loggedOut($request)) {
return $response;
}
return $request->wantsJson()
? new JsonResponse([], 204)
: redirect('/');
}

我创建了这个链接,就像Laravel的默认身份验证系统一样:

<div class="profile-user-loggedin">
<a href="{{ route('logout') }}">
<img src="img/icon-logout.png" style="width: 26px;" alt="" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
</div>

这是路线:

Route::post('/logout', [AppHttpControllersAuthLoginController::class, 'logout'])->name('logout');

现在,当我点击链接注销用户时,它会正确地重定向到网站主页,但问题是用户仍然以某种方式登录

我真的不知道这里出了什么问题,因为我的路线和方法看起来很好。

所以,如果你知道,请帮我解决这个。。。

谢谢。

在自定义注销功能中使用以下代码

Auth::logout();

最新更新