Как переписать маршрут после входа в систему с помощью FOSUserBundle? - PullRequest
0 голосов
/ 22 октября 2018

У меня проблема при использовании FOSUserBundle (dev-master) в Symfony 3.4.17.

Проблема в том, что я не перенаправлен туда, где хочу быть после успешного входа в систему,и я не вижу, как переписать маршрут, куда я хочу быть перенаправлен.

У меня появляется это сообщение об ошибке:

The _controller value "TICoreBundle:Default:index" maps to a "TI\CoreBundle\Controller\DefaultController" class, but this class was not found. Create this class or check the spelling of the class and its namespace.

Я знаю, что я мог бы просто создать DefaultКонтроллер в TICoreBundle и перенаправление с помощью indexAction.

Но я почти уверен, что это не элегантное решение.

Есть ли место, где я должен переписать маршрут?Я нахожу это немного тревожным, так как я использовал этот комплект в другом проекте без каких-либо проблем с перенаправлением, и я не нахожу различия между ними.

РЕДАКТИРОВАТЬ: я решил свою проблему, добавив:

# app/config/security.yml

form_login:

    default_target_path: after_login_route_name

, как предложено здесь: https://symfony.com/doc/3.4/security/form_login.html

1 Ответ

0 голосов
/ 22 октября 2018

Наиболее вероятным случаем является то, что брандмауэр Symfony имеет некоторые неправильные конфигурации.

Проверьте ваши файлы конфигурации для ключа брандмауэры под защитой.В этом разделе у вас должен быть настроен брандмауэр для входа в форму (по умолчанию это что-то вроде main -> form_login).При этом вы можете иметь одно из следующего:

  • default_target_path: путь, по которому вы будете перенаправлены после входа в систему
  • always_use_default_target_path: вместе с default_target_path это гарантирует, что пользователь всегда будетбыть перенаправленным на одну и ту же страницу независимо от страницы, с которой он пришел.
  • use_referer: при значении true будет использоваться предыдущая страница, где пользователь был в качестве целевого пути после входа в систему.Эта опция может создать некоторые проблемы при объединении с вызовами ajax.

Если в настройках брандмауэра установлено примечание, пользователь автоматически будет перенаправлен на "/"

Опубликовать пример вашегоКонфигурация безопасности Symfony, чтобы я мог лучше понять проблему.Кроме того, документация на сайте Symfony приличная, может быть, вы можете понять, что там не так https://symfony.com/doc/3.4/security/form_login.html

Надеюсь, это поможет, а если нет, дайте мне больше подробностей о проблеме, и, возможно, мы сможем ее исправить.вместе.

Александру Косой

...