2011-12-26 8 views
4

ユーザロケールでのログインパスの設定方法は?私が試みローカライゼーションを伴うFOSUserバンドルcheck_path

check_path:/ {_ロケール}/login_check

check_path:  /(en|ru)/login_check 

何も((

ルート設定

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

例外:

セキュリティファイアウォールの設定で form_loginを使用して、ファイアウォールが処理するチェックパスを設定する必要があります。

答えて

1

フム、私は認識していなかったあなたの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ファイルに追加してください。

試してみてください。代わりに、ファイアウォールの設定でパスの

+0

FosUserBundleがこれをサポートしている、私はそれがドキュメントで言及見てきた、彼は彼自身のセキュリティチェックを記述する必要はありません。 – thenetimp

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

関連する問題