我尝试在注销时访问一个路由,但是我从标题中得到了错误。
web.php
Route::get('/logout', function() {
if( cas()->isAuthenticated() ) {
session()->flush();
cas()->logout();
} else {
session()->flush(); // dd here works
return redirect('/');
}
});
Route::get('/', [
'as' => 'login',
'uses' => 'HomeController@index',
]);HomeController
public function index(Request $request)
{
dd(123); // I can't get here
}发布于 2020-03-03 09:05:24
如果cas()使用会话进行身份验证,则在调用cas()->logout()之前不要刷新会话。
否则,这个问题很可能发生在干预的中间件中。您可能需要将默认的Laravel RedirectIfAuthenticated中间件从App\Http\Kernel.php @ web组中删除。
sidenote:在注销某个内容时,我建议不要破坏整个会话,而应该只销毁与使用session()->forget('key')注销的主题相关的键。破坏整个会话可能会造成来自其他方面的意外干扰。
希望这个答案对你有帮助。
https://stackoverflow.com/questions/60503069
复制相似问题