參考http://laravelacademy.org/post/3502.html這個教學做前後台用戶認證的時候遇到一個問題就是,未登入用戶訪問/admin的時候,本來應該跳到/ admin/login的,但不知道為什麼總是跳到/login去請教這是什麼原因?
闭关修行中......
應該在中間件修改跳轉位址
AppHttpMiddleware下的Authenticatereturn redirect()->guest('admin/login');即可
Authenticate 中介軟體
public function handle($request, Closure $next, $guard = null) { if (Auth::guard($guard)->guest()) { if ($request->ajax()) { return response('Unauthorized.', 401); } else { return redirect()->guest($guard.'/login'); //注意这里的$guard } } return $next($request); }
route.php
Route::group(['middleware' => ['auth:admin']], function () { // auth:admin 调用auth中间件的时候传递一个admin,这个admin正好是被中间件的$guard接收,于是访问后台的时候都会被跳转导admin/login,同理 前台用户登陆的中间件可以是 auth:user , 这样会跳转到user/login Route::get('admin/index', 'AdminController@index'); });
應該在中間件修改跳轉位址
AppHttpMiddleware下的Authenticate
return redirect()->guest('admin/login');
即可
Authenticate 中介軟體
route.php