簡體   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