FOSUser捆绑check_path与本地化

时间:2011-12-26 12:24:17

标签: symfony fosuserbundle

如何使用用户区域设置设置登录路径?我试过了

  

check_path:/ {_ locale} / login_check

check_path:     /(en|ru)/login_check

但没有((

路线配置

fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"
    prefix:   /{_locale}

例外:

  

您必须使用防火墙配置检查路径   安全防火墙配置中的form_login。

2 个答案:

答案 0 :(得分:12)

在防火墙配置中使用路由而不是路径:

   security:
        firewalls:
            main:
                    form_login:
                        provider: fos_userbundle
                        login_path: fos_user_security_login
                        check_path: fos_user_security_check
                        csrf_provider: form.csrf_provider

link to topic in symfony forum

答案 1 :(得分:2)

嗯,我没有认出你的prefix: /{_locale}

resource: "@FOSUserBundle/Resources/config/routing/security.xml"

您应该在({exmpl ofc} routing.yml

中写入您的行动路线
login_check:
    pattern: /{_locale}/login_check
    defaults:  { _controller: YourBundle:Controller:someaction, _locale: en }
        requirements:
           _locale:  en|ru

security.xml

check_path:  /{_locale}/login_check

不要忘记添加

fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"

app/config/routing.yml文件中。

试试吧,gl。