Пользовательские фильтры маршрутов, игнорирующие перенаправление

У меня возникли проблемы при попытке создать собственный фильтр. Моя цель — убедиться, что аутентифицированный пользователь выполнил определенные условия, прежде чем позволить им посещать маршруты, определенные в группе.

Прямо сейчас это просто продолжает без проблем, хотя я подтвердил, что одно из этих условий выполнено. Это игнорирует мои перенаправления.

routes.php

Route::group(array('before' => 'registered'), function()
{
Route::get('/page', array('as' => 'page', 'uses' => 'PageController@getIndex'));
});

filters.php

Route::filter('registered', function()
{
if(Auth::check())
{
if(!Auth::user()->confirmed())
{
return Redirect::route('signup.send.confirmation')->with('alert-warning', 'You must confirm your email address before continuing.  Fill out the form below if you need a new activation email.  Thank you!');
}

if(!Auth::user()->registered)
{
return Redirect::route('signup.profile')->with('alert-warning', 'You must fill out the following information before continuing.  Thank you!');
}
}
});

Любая помощь очень ценится! Спасибо!

0

Решение

Я думаю, что есть проблема с вашим фильтром. Похоже, что вы разрешаете незарегистрированным пользователям идти по этому маршруту. Я думаю, что вам нужно это:

Route::filter('registered', function()
{
if(!Auth::check()) {
return Redirect::route('signup.profile')->with('alert-warning', 'You must fill out the following information before continuing.  Thank you!');
}

else
{
if(!Auth::user()->confirmed())
{
return Redirect::route('signup.send.confirmation')->with('alert-warning', 'You must confirm your email address before continuing.  Fill out the form below if you need a new activation email.  Thank you!');
}
}
});

Если это не решит проблему, вы должны предоставить более подробную информацию, особенно о том, как вы проверяете эти условия, и если вы уверены, что этот фильтр запущен.

0

Другие решения

Я не знаю, как это объяснить, но сейчас все работает так, как написано в моем оригинальном посте. Должно быть, я где-то пропустил тест.

Аутентификация не требуется для доступа к странице. Но если они Аутентифицированы, я хочу убедиться, что они выполнили все шаги, необходимые для создания полной учетной записи / профиля. Это причина для фильтра, он не перенаправляет их, если они не аутентифицированы.

Если вы хотите сделать пользовательский фильтр, мой оригинальный вопрос работает! Извините, что потратил впустую время.

0

По вопросам рекламы [email protected]