#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'));
}