我遇到了laravel路由问题。
我想要这样的路线:
/ - home page for unauthenticated users
/login - login page
/register - register page
/dashboard - home page for authenticated users
登录后我希望用户被重定向到/ dashboard,如果经过身份验证的用户转到/或任何其他不受保护的路由,我还想将他重定向到/ dashboard。
我的routes.php。
`Route::get('/', 'HomeController@index');
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get(‘/dashboard’, ‘DashboardController@index');
Route::get('/logout', 'Auth\AuthController@logout');
});`
这样可行,但是如果经过身份验证的用户转到/或任何其他未受保护的路由,我想将其重定向到/ dashboard。我怎样才能做到这一点?
答案 0 :(得分:1)
取自Laravel docs。
路径自定义
当用户成功通过身份验证后,他们将被重定向到/ URI。您可以通过在AuthController上定义redirectTo属性来自定义验证后重定向位置:
protected $redirectTo = '/home';
如果用户未成功通过身份验证,系统会自动将其重定向回登录表单位置。
在此处查看更多信息。 https://laravel.com/docs/5.2/authentication#included-routing
答案 1 :(得分:1)
你需要设置::
protected $ redirectTo =' / home'
在AuthController中的将覆盖AuthController使用的Trait中的$ redirectTo变量。
你也可以用同样的方式改变redirectAfterLogout url。
!!快乐的编码。
答案 2 :(得分:0)
在HomeController@index
方法中,请检查并将Auth用户重定向到信息中心。 Auth::check() ? return redirect()->url('/dashboard') : '';