Damon
Damon

Reputation: 10809

Laravel different controller for route if authenticated?

I tried this:

Route::get('/', 'PageController@getIndex');
Route::group(array('before' => 'auth'), function(){
    Route::controller('/',            'HomeController'); 
});

But it is always requiring login.

I want the PageController@getIndex to be called when visiting '/' when logged in, and HomeController (@getIndex) otherwise.

I know I could set up a redirect, but I'd like to just handle it all within routing.

Upvotes: 1

Views: 253

Answers (1)

Hailwood
Hailwood

Reputation: 92581

You need to setup your own auth filter

if(!Auth::check()){
    return Route::get('/', 'PageController@getIndex');
} else {
    Route::controller('/',            'HomeController'); 
}

Upvotes: 1

Related Questions