FOSUser捆绑check_path与本地化

rty*_*hyk 5 symfony fosuserbundle

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

check_path:/ {_ locale}/login_check

check_path:     /(en|ru)/login_check
Run Code Online (Sandbox Code Playgroud)

但没什么((

路线配置

fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"
    prefix:   /{_locale}
Run Code Online (Sandbox Code Playgroud)

例外:

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

mar*_*tti 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
Run Code Online (Sandbox Code Playgroud)

链接到symfony论坛中的主题


Dau*_*nnC 2

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

resource: "@FOSUserBundle/Resources/config/routing/security.xml"
Run Code Online (Sandbox Code Playgroud)

您应该在(例如 ofc)中编写您的操作路线routing.yml

login_check:
    pattern: /{_locale}/login_check
    defaults:  { _controller: YourBundle:Controller:someaction, _locale: en }
        requirements:
           _locale:  en|ru
Run Code Online (Sandbox Code Playgroud)

并在security.xml

check_path:  /{_locale}/login_check
Run Code Online (Sandbox Code Playgroud)

不要忘记添加

fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"
Run Code Online (Sandbox Code Playgroud)

在你的app/config/routing.yml文件中。

试试吧,GL。