Подтвердить что ты не робот

Безопасность 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
4b9b3361

Ответ 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