php - 没有登录的 laravel 将我发送到错误的路线
问题描述
Route::get('/', 'userController@sigIn')->name('sigIn');
Route::post('/login', 'userController@login')->name('login');
Route::get('/sigout', 'userController@sigOut')->name('sigOut');
我已经定义了这些路由,其余的由 auth() 保护。当我尝试在没有创建会话的情况下访问其中一项保护时,laravel 会将我发送到登录路径,但应该转到 sigIn。我该如何解决?
Route::middleware(['auth'])->group(function ()
{
Route::get('/home', function () {
return view('home');
})->name('home');
解决方案
在 Authenticate 中间件中,您必须编辑此功能。并重定向到您想要的路线。
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
祝你好运