单击注销按钮时出现重定向循环问题 Laravel 5.2.15
Redirect Loop Issue on Logout Button Click Laravel 5.2.15
我的路线如下
Route::group(['middleware' => ['web']], function () {
Route::get('/', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
});
Route::group(['middleware' => ['web', 'auth']], function () {
Route::get('/Roles', array('uses' => 'RoleController@Roles', 'as' => 'Roles'));
});
身份验证成功后,我可以看到角色列表,并且有注销按钮。单击注销按钮转到 class RedirectIfAuthenticated
。
这里有handle方法class
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/');
}
return $next($request);
}
它进入内部如果条件和问题来了。
我错过了什么吗?
默认情况下,AuthController 将访客中间件放在除 logout
之外的所有方法上。您的路线将前往 getLogout
。调整 AuthController 中的中间件声明或调整您的路由以使用默认方法 logout
.
AuthController 构造函数应该如下所示,问题已得到解决。
public function __construct()
{
//$this->middleware('guest', ['except' => 'logout']);
}
我的路线如下
Route::group(['middleware' => ['web']], function () {
Route::get('/', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
});
Route::group(['middleware' => ['web', 'auth']], function () {
Route::get('/Roles', array('uses' => 'RoleController@Roles', 'as' => 'Roles'));
});
身份验证成功后,我可以看到角色列表,并且有注销按钮。单击注销按钮转到 class RedirectIfAuthenticated
。
这里有handle方法class
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/');
}
return $next($request);
}
它进入内部如果条件和问题来了。
我错过了什么吗?
默认情况下,AuthController 将访客中间件放在除 logout
之外的所有方法上。您的路线将前往 getLogout
。调整 AuthController 中的中间件声明或调整您的路由以使用默认方法 logout
.
AuthController 构造函数应该如下所示,问题已得到解决。
public function __construct()
{
//$this->middleware('guest', ['except' => 'logout']);
}