[英]Laravel change main page after login
I would like show other main page after login to the user. 登录用户后,我想显示其他主页。
Route::get('/', 'PagesController@getIndex');
Route::group(['middleware' => 'auth'], function () {
Route::get('/', 'BlogController@getUserBlog');
});
When user is log in I would like to show BlogController@getUserBlog
it's working but, when user is not authenticated laravel shows /login
page not PagesController@getIndex
. 当用户登录时,我想显示
BlogController@getUserBlog
正常工作,但是当用户未通过身份验证时,laravel显示/login
页面而不是PagesController@getIndex
。 How to correct this for: 如何针对以下问题进行更正:
Auth user: BlogController@getUserBlog
验证用户:
BlogController@getUserBlog
Guest: PagesController@getIndex
访客:
PagesController@getIndex
Make changes in this Middleware RedirectIfAuthenticated
在此中间件
RedirectIfAuthenticated
更改
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
//Logged In
return redirect()->route('getUserBlog');
}
// Not Logged In
return redirect()->route('getIndex');
}
and make the necessary change in your routes
file 并在您的
routes
文件中进行必要的更改
Route::get('/', 'PagesController@getIndex')->name('getIndex');
Route::get('/', 'BlogController@getUserBlog')->name('getUserBlog');
Or you can do it without middleware : 或者,您也可以不使用中间件:
Route::group(['prefix' => '/'], function()
{
if ( Auth::check() )
{
Route::get('/', 'BlogController@getUserBlog');
} else{
Route::get('/', 'PagesController@getIndex');
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.