Безопасность Symfony2 при использовании маршрутизации i18n?
Я использую JMSI18nRoutingBundle для маршрутизации переводов с настраиваемой конфигурацией, без префикса для всех маршрутов:
# app/config/config.yml
jms_i18n_routing:
default_locale: it
locales: [it, en]
strategy: custom
www.example.com/contatti
www.example.com/contact
Это прекрасно работает, как этот пакет. Я не должен разрабатывать административную часть проекта, конечно, защищая его. Я застрял в конфигурации безопасности (выдержка):
# app/config/config.yml
security:
firewalls:
secured_area:
pattern: ^/
anonymous: ~
form_login:
login_path: /login
check_path: /login_check
login_path
статически определяется с помощью security.yml
. Итак, как я должен указывать правильный логин (локализованный)? Предполагаемая форма доступна с помощью:
www.example.com/accesso
www.example.com/login
Ответы
Ответ 1
Как Wojciech Jasiński, упомянутый уже в комментариях, вы должны использовать имя маршрута вместо шаблона.
Просто чтобы принести свет...
Вы должны определить свой маршрут
gremo_login_path:
pattern: /login
... и использовать его в security.yml
security:
firewalls:
secured_area:
pattern: ^/
anonymous: ~
form_login:
login_path: gremo_login_path
check_path: /login_check
См. также похожие вопросы:
https://github.com/schmittjoh/JMSI18nRoutingBundle/issues/7
https://github.com/symfony/symfony/pull/3791/files