Я пытаюсь перенаправить пользователя обратно на предыдущую страницу после успешного входа в систему. Для этого в LoginController.php
я добавил функцию redirectTo()
как таковую:
protected function redirectTo()
{
return url()->previous();
}
После этого я попытался войти в систему, но после успешного входа я перенаправлен на домашнюю страницу. (/
).
Когда я сделал dd(url()->previous())
в функции redirectTo()
, я обнаружил, что предыдущий URL был http://localhost/login
. Таким образом, пользователь был перенаправлен на страницу login
, которая затем была перенаправлена на страницу home
.
Я также пытался return redirect()->back()
в функции redirectTo()
, но я получил следующую ошибку
Заголовок не может содержать более одного заголовка, обнаружена новая строка
Я также пытался использовать authenticate()
в LoginController
public function authenticate()
{
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Authentication passed...
return redirect()->back();
}
}
перенаправляет на /home
(который не найден)
Использование return redirect()->intended()
вместо return redirect()->back()
дает тот же результат.
Как перенаправить пользователя на предыдущую страницу, на которой он был, когда он / она зашел на страницу входа?
Я по-прежнему хочу сохранить функциональность по умолчанию, при которой пользователь пытается получить доступ к маршруту с помощью auth
Middlewate, он попадает на страницу входа и после успешного входа перенаправляется на страницу, на которую он намеревался зайти. первое место.