2013-07-22 3 views
0

Я пытаюсь перенаправить индексную страницу в другое место, если вы вошли в систему, хотя моя система аутентификации работает, но не перенаправляется туда, где я ожидал, т.е. getLogged, вместо этого она всегда перенаправляется на getIndex был ли я зарегистрирован или нет.маршрут laravel при входе в систему не запускается

Route::filter('auth', function() 
{ 
    if (!Sentry::check()) return Redirect::to('/'); 
}); 

Route::group(array('before' => 'auth'), function() { 
    Route::get('/', array('uses' => '[email protected]')); 
}); 

Route::get('/', array('before' => 'detectLang', 'uses' => '[email protected]')); 

Я проверил, чтобы убедиться, что мои AUTH работает путем изменения

Route::group(array('before' => 'auth'), function() { 
    Route::get('/', array('uses' => '[email protected]')); 
}); 

в

Route::group(array('before' => 'auth'), function() { 
    Route::get('/dash', array('uses' => '[email protected]')); 
}); 

и правильно ведет себя, что я могу только доступ/тире, когда я вошел в так почему мой индексный маршрут не работает?

ответ

1

Вы объявляете тот же маршрут дважды, это не сработает. Для достижения этой функциональности вместо добавления фильтра auth добавьте guest, который вместо проверки, является ли пользователь не подключен, проверит, -. Что-то вроде этого:

Route::filter('guest', function() { 
    if (Sentry::check()) return Redirect::route('logged'); 
}); 

Затем настроить ваш маршруты, то вдоль этих линий:

Route::get('/', array(
    'as'  => 'home', 
    'uses' => '[email protected]', 
    'before' => 'guest' 
)); 

Route::get('/logged', array(
    'as'  => 'logged', 
    'uses' => '[email protected]', 
    'before' => 'auth|detectLang' 
)); 

Примечание:as ключ дает имя вашего маршрута, так что вы можете использовать его на Redirect::route или URL::route.

+0

Спасибо Рафаэлю, моя ситуация заключается в том, что форма входа находится внутри индексной страницы '/', я просто хочу, чтобы она перенаправлялась на другую страницу, если вы вошли в систему и не видите индексную страницу, где я могу разместить перенаправление? – user391986

+0

Вы хотите сделать это без изменения URL-адреса? – rmobis

+0

Сценарий: пользователь переходит на страницу индекса, регистрируется, пользователь перенаправляет/учетную запись. Теперь, если пользователь пересматривает /, он снова автоматически перенаправляет/учетную запись, потому что пользователь вошел в систему. Где я могу установить это? Я пытаюсь теперь внутри конструктора моего указательного контроллера , если (Sentry :: check()) возвращает Redirect :: to ('account'); но он не работает – user391986

Смежные вопросы