Laravel 5.3 auth路由重定向到/

时间:2017-10-13 15:59:28

标签: php laravel laravel-5.3

我刚刚升级到Laravel 5.3(从5.2开始),现在验证了auth路由。

我为RegisterController实现了所需的methonds,并将Auth::routes();添加到routes/web.php。但是当我访问/注册时,我总是被重定向到/

我不知道为什么也不知道如何弄清楚出了什么问题。

中间件:

protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
        ],
        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];

更新:我找到了原因:我已经登录,因此它总是转发给我。我还不知道的是,它是在做什么的?

2 个答案:

答案 0 :(得分:2)

刚刚找到原因。

它位于RedirectIfAuthenticated中间件:

if (Auth::guard($guard)->check()) {
     return redirect('/');
}

答案 1 :(得分:0)

Auth :: routes()只是一个帮助程序类,可以帮助您生成用户身份验证所需的所有路由。要更改代码,您可以在以下链接中浏览:

// Authentication Routes...
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register');

// Password Reset Routes...
$this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm');
$this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail');
$this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm');
$this->post('password/reset', 'Auth\ResetPasswordController@reset');

您可能需要检查此功能$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');以更改路径,或者它与您的中间件有关。