Возврат на страницу вызова вместо панели мониторинга после входа в систему (Laravel 8)

#laravel #laravel-8

#laravel #laravel-8

Вопрос:

В моем приложении Laravel 8 ссылка на маршрут входа предоставляется в разных местах, т. Е. Пользователь может входить в систему с нескольких страниц. По умолчанию после входа в систему пользователь перенаправляется на панель мониторинга. Я ищу способ вернуть пользователя на ту же страницу, с которой он нажал на кнопку входа.
Я использую Laravel с Jetstream и Livewire. В документации говорится, что я могу сделать это, изменив «public const HOME = ‘/ dashboard’;» на желаемый адрес назначения, но в моем случае адресатом может быть более одного URL.
Я попробовал ‘redirect ()-> back ()’ вместо ‘/ dashboard’, ноэто не работает. Пожалуйста, помогите, какие изменения требуются.

Комментарии:

1. Можете ли вы добавить свой код LoginController ?

2. По умолчанию у Jetstream нет контроллера входа. И вручную я его не создал

Ответ №1:

Сохраните предыдущий URL-адрес, когда вы перенаправляете пользователя на страницу входа в систему, и после аутентификации пользователя перенаправьте его на ту же страницу с сохраненным сеансом. Попробуйте это:

 public function showLoginForm()
{
     session(['link' => url()->previous()]);
     return view('auth.login');
}


protected function authenticated(Request $request, $user)
{
     return redirect(session('link'));
}