繁体   English   中英

Laravel登录后更改主页

[英]Laravel change main page after login

登录用户后,我想显示其他主页。

Route::get('/', 'PagesController@getIndex');

Route::group(['middleware' => 'auth'], function () {
    Route::get('/', 'BlogController@getUserBlog');
});

当用户登录时,我想显示BlogController@getUserBlog正常工作,但是当用户未通过身份验证时,laravel显示/login页面而不是PagesController@getIndex 如何针对以下问题进行更正:

验证用户: BlogController@getUserBlog

访客: PagesController@getIndex

在此中间件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');
}

并在您的routes文件中进行必要的更改

Route::get('/', 'PagesController@getIndex')->name('getIndex');
Route::get('/', 'BlogController@getUserBlog')->name('getUserBlog');

或者,您也可以不使用中间件:

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