使用Middleware保护登录
打赏作者

Gavin1024

laravel5.3中auth这个中间间在处理用户已经退出 在handle处理到这部分 那么我想问的是既然判断到用户此时没有登录 并进行了重定向 那么这段判断以及重定向的代码逻辑放在哪儿了

zddragon 回复 Gavin1024

找不到重定向的代码在哪,新建一个中间件来处理,‘auth’ => \App\Http\Middleware\Authenticate::class

wl876645 回复 zddragon

5.3中auth移到Illuminate\Auth\Middleware\Authenticate 这里。最下面的throw抛出,到App\Exceptions\Handler.php最下面的unauthenticated方法可以定义

a359611223

5.4中已经将Authenticate中间件拆解成了4个controller?

carrywu

场景:

重构laravel登录, 对帖子的create方法 使用auth middleware 报Route [login] not defined.

解决:

 跟踪他错误

protected function unauthenticated($request, AuthenticationException $exception)
{
return $request->expectsJson()
? response()->json([‘message’ => $exception->getMessage()], 401)
: redirect()->guest(route(‘login’));
}
以login为name的路由不存在 所以login 加上name就可以解决
Route::get(’/login’, ‘UserController@login’)->name(‘login’);