2015-02-11 3 views
2

Я хочу перенаправить пользователя для конкретной страницы после успешного входа в систему.Как перенаправить определенную страницу после входа в laravel

Я не хочу, чтобы пользователь переходил на последнюю просматриваемую страницу после входа в систему.

Я пробовал следующий URL, но его показать мне ошибку.

Ошибка:

$credentials are required.

Laravel redirect back to original destination after login

+0

Почему бы не использовать 'Перенаправление :: маршрут (" маршрут-имя) '? – Mahozi

+0

Можете ли вы опубликовать какой-то код, как вы перенаправляетесь после входа в систему? – Saqueib

+0

вниз прошу объяснить? –

ответ

2

Я изменил перенаправлять страницу, используя следующий код после авторизации

Предыдущая

return Redirect::intended('home'); 

Изменение к

return Redirect::to('home'); 
+1

В чем?. метод, вы сделали это? – user151841

1

Добавить фильтр аутентификации в маршрут и добавить логику для перенаправления пользователя, если Войти успех или неуспех.

Ваш маршрут будет выглядеть примерно так:

Route::group(array('domain'=>'a.b.com', 'before'=>'auth'), function() { 

и ваш фильтр будет как:

Route::filter('auth', function() 
{ 
    if (Auth::user()->guest()) 
    { 
     if (Request::ajax()) 
     { 
      return Response::make('Unauthorized', 401); 
     } 
     else 
     { 
      return Redirect::guest('account/login'); 
     } 
    } 
}); 

Посмотрите here для добавления маршрута и фильтр, и here получить основную информацию о фильтре , Эти 2 учебные пособия также помогут: Link 1 & Link 2

В вашем AccountController, попробуйте добавить что-то внутри функции валидации:

if (Session::has('url.intended')) { 
$url = Session::get('url.intended'); 
Session::forget('url.intended'); // unset referring url from session 
return Redirect::to($url); // redirect to referring url 
} 
else { 
    return Redirect::to('/'); // redirect to home page 
} 
+0

В моем фильтре я следующий код «Route :: фильтр ('' AUTH, функция() { \t если (Auth :: гость()) \t { \t \t если (Request :: Ajax()) \t \t { \t \t \t обратный ответ :: сделать ('Самовольное', 401); \t \t} \t \t еще \t \t { \t \t \t return Redirect :: guest ('') -> with ('Message', 'Пожалуйста, Войти, чтобы получить доступ'); \t \t} \t} });» –

+0

Хорошо, это замечательно, но то, что вы пытаетесь сказать –

+0

его перенаправлением последнего просмотра страницы после входа в систему –

0

Настройка перенаправления местоположения путем определения свойства redirectPath на Auth/AuthController:

protected $redirectPath = '/dashboard'; 
+0

, который не работает, после входа в систему laravel попробуйте перейти на последнюю страницу, я имею в виду, если вы обновите свою последнюю страницу на sistem (в системе sistem), и ваша сессия отключена. laravel отправляет вам логин и после войдите в систему, чтобы отправить его на свою последнюю страницу, а не в $ redirectpath. –

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