简体   繁体   English

Laravel登录后更改主页

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM