简体   繁体   中英

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 . How to correct this for:

Auth user: BlogController@getUserBlog

Guest: PagesController@getIndex

Make changes in this Middleware 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

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');
    }
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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