使用i18n路由时的Symfony2安全性?

时间:2012-03-08 16:48:23

标签: symfony

我正在使用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。那么,我应该如何指定正确的登录(本地化)路径?假设form是accessibile使用:

www.example.com/accesso
www.example.com/login

1 个答案:

答案 0 :(得分:4)

如评论中已提到的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