Laravel5.4多表登录认证的中间件

Laravel5.1

在Laravel5.1的时候auth中间件可以使用auth:admin来处理多表登录认证的登录验证

如:在Controller中这样使用

public function __construct()
{
    $this->middleware('auth:admin');
}

App\Http\Middleware\Authenticate.php文件中handle方法修改为

 public function handle($request, Closure $next, $guard = null)
{
    if (Auth::guard($guard)->guest()) {
        if ($request->ajax() || $request->wantsJson()) {
            return response('Unauthorized.', 401);
        } else {
            $guard = $guard ? $guard . '/' : '';

            return redirect()->guest($guard . 'login');
        }
    }

    return $next($request);
}

这样就可以做到web和admin区分开来

Laravel5.4

在5.1时Kernel文件中注册的auth\App\Http\Middleware\Authenticate,
而5.4取而代之的是\Illuminate\Auth\Middleware\Authenticate.

似乎变得不像是一个操作了

看了源码也找不到到底是哪里处理了跳转

虽然可以自建一个Middleware来处理,但是还是希望可以理解下框架本身的操作

那么5.4需要如何修改呢?

JellyBool
修改的评论也不能少于六个字哦!
yara 回复 JellyBool
修改的评论也不能少于六个字哦!
baoniu
修改的评论也不能少于六个字哦!
syh
修改的评论也不能少于六个字哦!
syh
修改的评论也不能少于六个字哦!