1

「User」という名前のバンドルを作成しました。一般的なルーティングでは、すべての UserBundle URL に /user を追加しました。たとえば、UserBundle でルート /list を定義すると、実際のパスはhttp://myapp.loc/user/list になります。

このWebサイトを使用するためにユーザーにログインを強制しようとしています。これを行っています:

security:
       firewalls:
          login_firewall:
              pattern:    ^/user/login
              anonymous:  ~
          secured_area:
              pattern:    ^/
              form_login:
                   login_path: user_login
                   check_path: user_login_check
                   default_target_path: /
              logout:
                   path: /user_logout
                   target: user_login
              remember_me:
                    key:      atipics-soft2012
                    lifetime: 3600           
       access_control:
           - { path: ^/, roles: ROLE_USER }
       providers:
           users:
               entity: { class: MyApp\UserBundle\Entity\User, property:email }
       encoders:
           MyApp\UserBundle\Entity\User: { algorithm:  sha512, iterations: 10 }

次のようなエラーが表示されます。

InvalidConfigurationException: パス "security.firewalls.secured_area" の構成が無効です: ログイン方法 "form_login" の check_path "user_login_check" が、ファイアウォール パターン "^/" と一致しません。

何が問題なのですか?

もちろん、ルートファイルにこのルートを追加しました。

4

1 に答える 1

1

それがバグなのか、それとも意図されたものなのかはわかりませんがcheck_path、ルート名は受け付けません。パスに設定する必要があります。

于 2012-04-27T10:25:57.400 に答える