symfony でユーザー認証を機能させるのに問題があります。login_path
正常に動作していますが、誤動作しcheck_path
ています。私が指定したパスは、有名なUnable to find the controller for path "/login_check". Maybe you forgot to add the matching route in your routing configuration?
私は他の投稿を見てきましたが、それらはすべて私がしていることをしているようです。私は symfony に非常に慣れておらず、概念を理解するのに苦労しています。
それが違いを生む場合、私はSymfony 2.1を使用しています。
すべてが適切に構成されていると思います。
security.yml
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
Site\CommonBundle\Entity\User: plaintext
role_hierarchy:
ROLE_LIGHT: ROLE_LIGHT
ROLE_ADMIN: [ROLE_LIGHT, ROLE_USER]
ROLE_SUPER_ADMIN: [ROLE_LIGHT, ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
database:
entity: { class: SiteCommonBundle:User }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login_firewall:
pattern: ^/(login|logout|login_check)
anonymous: ~
secured:
pattern: ^/secured/
form_login:
login_path: /login
check_path: /login_check
logout:
path: /logout
target: /
access_control:
- { path: ^/secured/, roles:ROLE_LIGHT }
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY}
ルーティング.yml
common_login:
pattern: /login
defaults: { _controller: SiteCommonBundle:Default:login }
common_login_check:
pattern: /login_check