5

如何使用用户语言环境设置登录路径?我试过

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 配置要由防火墙处理的检查路径。

4

2 回答 2

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

链接到 symfony 论坛中的主题

于 2012-10-22T10:09:51.863 回答
2

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

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

您应该在 (for 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。

于 2011-12-26T19:57:11.423 回答