URL-адрес Symfony 6 RedirectResponse с проблемой параметров запроса ⇐ Php
-
Гость
URL-адрес Symfony 6 RedirectResponse с проблемой параметров запроса
Я использую Symfony 6. Я пытаюсь перенаправить моего пользователя после успешного входа в систему на ту же страницу, на которой он находился перед запросом входа в систему. Я сохраняю первоначальный URL-адрес в сеансе.
Вот метод onAuthenticationSuccess моего пользовательского класса аутентификатора:
публичная функция onAuthenticationSuccess(Request $request, TokenInterface $token, строка $firewallName): ?Response { $session = $request->getSession(); $initialUrl = $session->get('initialUrl'); если (нуль! == $initialUrl) { вернуть новый RedirectResponse($initialUrl); } вернуть ноль; } Вот моя проблема:
Я могу сделать мою переменную $initialUrl URL-адресом, который мне нужен (без домена, с параметрами). Но : Эта строка
вернуть новый RedirectResponse($initialUrl); перенаправляет пользователя на неправильную страницу, символы ?= кажутся замененными на что-то вроде #; поэтому ни один параметр не распознается
Пока эта строка:
вернуть новый RedirectResponse('/spotify/player?sessionId'. $sessionId); Работает нормально... хотя я, очевидно, проверял, и в обоих случаях строка одинакова...
Есть идеи, почему?
Прочитал документацию, попробовал провести исследования и наконец понял, что создание URL вручную работает... не знаю почему
Я использую Symfony 6. Я пытаюсь перенаправить моего пользователя после успешного входа в систему на ту же страницу, на которой он находился перед запросом входа в систему. Я сохраняю первоначальный URL-адрес в сеансе.
Вот метод onAuthenticationSuccess моего пользовательского класса аутентификатора:
публичная функция onAuthenticationSuccess(Request $request, TokenInterface $token, строка $firewallName): ?Response { $session = $request->getSession(); $initialUrl = $session->get('initialUrl'); если (нуль! == $initialUrl) { вернуть новый RedirectResponse($initialUrl); } вернуть ноль; } Вот моя проблема:
Я могу сделать мою переменную $initialUrl URL-адресом, который мне нужен (без домена, с параметрами). Но : Эта строка
вернуть новый RedirectResponse($initialUrl); перенаправляет пользователя на неправильную страницу, символы ?= кажутся замененными на что-то вроде #; поэтому ни один параметр не распознается
Пока эта строка:
вернуть новый RedirectResponse('/spotify/player?sessionId'. $sessionId); Работает нормально... хотя я, очевидно, проверял, и в обоих случаях строка одинакова...
Есть идеи, почему?
Прочитал документацию, попробовал провести исследования и наконец понял, что создание URL вручную работает... не знаю почему
Мобильная версия