yara

1585 经验值

感谢博主帮忙解答,刚看了下,感觉一时半会还搞不定,还是明天再好好摸索吧。

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需要如何修改呢?