代码之家  ›  专栏  ›  技术社区  ›  Pankaj

重定向注销按钮上的循环问题单击Laravel 5.2.15

  •  2
  • Pankaj  · 技术社区  · 8 年前

    我的路线如下

    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 .

    我们在这个类中有句柄方法

    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/');
        }
        return $next($request);
    }
    

    如果出现问题,它会进入内部。

    我错过了什么吗?

    2 回复  |  直到 8 年前
        1
  •  0
  •   lagbox    8 年前

    默认情况下,AuthController将来宾中间件放在所有方法上 logout 。您的路线将 getLogout 。调整AuthController中的中间件声明或调整路由以使用默认方法 注销 .

        2
  •  0
  •   Pankaj    8 年前

    AuthController构造函数应如下所示,问题已修复。

    public function __construct()
    {
        //$this->middleware('guest', ['except' => 'logout']);
    }