Laravel 5 身份验证注销未破坏会话

2022-08-30 19:52:18

我正在为我的新项目使用Laravel5 Auth系统,我能够使用注册和登录功能,没有任何问题,但注销没有按预期工作,但是我被重定向到指定的url,但它不会破坏会话,所以即使在点击注销按钮后,我也能看到仪表板。$redirectAfterLogout

laravel在Auth系统中是否有一些错误,请建议,谢谢


答案 1

您没有提供您使用过的任何代码段。但是,以下代码有效:

public function getLogout(){
    Auth::logout();
    Session::flush();
    return Redirect::to('/');
}

将清除所有现有会话。Session::flush();


答案 2

使用Laravel 5.2,我注册了一个侦听器,处理了注销事件,并按照上面的建议调用了Session::flush。似乎工作得很好。希望这是有帮助的。

事件服务提供程序.php

protected $listen = [
    'App\Events\SomeEvent' => [
        'App\Listeners\EventListener',
    ],
    'Illuminate\Auth\Events\Logout' => [
        'App\Listeners\ClearSessionAfterUserLogout'
    ],
]; 

清除会话后用户注销.php

public function handle(Logout $event)
{
    Session::flush();
}

推荐