Проблемы с перенаправлением Laravel

Я использую Laravel 8.0 для создания веб-приложения. У меня есть несколько страниц, которые можно увидеть, только если вы вошли в учетную запись. У меня он настроен так, что, когда вы переходите на страницу, он использует функцию контроллера для возврата представления, но перед этим он проверяет, вошли ли вы в систему, с помощью простого оператора if. Если вы вошли в систему, он возвращает представление, иначе перенаправляет на страницу входа. Я хочу сделать так, чтобы после входа в систему они перенаправлялись обратно на страницу, на которую они пытались перейти раньше. Я использовал для этого return redirect()->back();, но он также возвращает им страницу входа, поскольку считает, что это было там, где это было раньше. Я использую отдельный маршрут и функцию контроллера для входа в систему через форму. Если бы кто-нибудь мог помочь, я был бы очень признателен!

Промежуточное программное обеспечение лучше всего использовать для проверок аутентификации, laravel поставляется с промежуточным программным обеспечением auth, которое перенаправляет на страницу входа, если кто-то пытается посетить страницу, требующую предварительного входа в систему, и этот пользователь не вошел в систему. Также вы можете использовать метод intended класса Redirect, который перенаправляет на предполагаемый URL-адрес перед перенаправлением на страницу входа. Загляните в документацию, чтобы лучше разобраться в этих темах.

ths 30.03.2021 05:10
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
34
2

Ответы 2

я предпочитаю использовать это

redirect()->route('your route name')

потому что по логике после формы отправки он переходит на другой маршрут, который является /авторизоваться с POST запрос

Итак, когда вы используете это

redirect()->back()

он переходит к /авторизоваться с GET запрос, который является вашей формой входа

Вы должны использовать следующий код. В вашей функции login просто добавьте это

Session::put('previousUrl',url()->previous());
$previous_url = Session::get('previousUrl');

И после успешной аутентификации входа просто вызовите это

return Session::get('previousUrl'); 

Другие вопросы по теме