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