En faisant référence à http://laravelacademy.org/post/3502.html pour l'authentification des utilisateurs front-end et back-end,
a rencontré un problème selon lequel lorsqu'un utilisateur non connecté accède à /admin, il doit accéder à / admin/login , mais je ne sais pas pourquoi il passe toujours à /login. Quelle est la raison ?
閉關(guān)修行中......
Authentifier sous AppHttpMiddleware
return redirect()->guest('admin/login');
C'est tout
Authentifier le middleware
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 調(diào)用auth中間件的時(shí)候傳遞一個(gè)admin,這個(gè)admin正好是被中間件的$guard接收,于是訪問后臺(tái)的時(shí)候都會(huì)被跳轉(zhuǎn)導(dǎo)admin/login,同理 前臺(tái)用戶登陸的中間件可以是 auth:user , 這樣會(huì)跳轉(zhuǎn)到user/login
Route::get('admin/index', 'AdminController@index');
});