私は Symfony2 を初めて使用し、基本的な登録 + ログイン システムを作成しようとしています。そこで、Symfony2 のドキュメントを参考にして、次の security.yml を作成しました。
security:
encoders:
TestCompany\InternetBundle\Entity\Member:
algorithm: sha1
encode_as_base64: false
iterations: 1
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
providers:
administrators:
entity: { class: TestCompanyInternetBundle:Member, property: username }
firewalls:
admin_area:
pattern: ^/admin
anonymous: ~
form_login:
login_path: /login
check_path: /login_check
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
そして、このルーティングを使用しました:
login_check:
pattern: /login_check
login:
pattern: /login
defaults: { _controller: TestCompanyInternetBundle:Admin:login }
http://symfony.com/doc/current/book/security.html#using-a-traditional-login-formによると、login_check ルートのコントローラーを実装する必要はありません。それでも、Symfony は次のエラーを返します。
Unable to find the controller for path "/login_check". Maybe you forgot to add the matching route in your routing configuration?
ここで私が何か間違ったことをした可能性がありますか?ログインページは、ドキュメントで使用されているものとほぼ同じです。エラーは次のページで発生します:http://localhost/SymfonyTest/web/app_dev.php/login_check
は、ログイン フォームを使用した後に送信されるページです。