我无法在 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,如果这有什么不同的话。
我相信我已经正确配置了所有内容:
安全.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