我是Symfony2的新手,我試圖創建一個基本註冊+登錄系統。所以,用Symfony2的文檔的幫助下,我創建了這個security.yml:Symfony2身份驗證「login_check」路徑找不到
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
,這是我在使用登錄表單後發送到的頁面。
補充信息可在http://stackoverflow.com/questions/17406446/how-does-the-login-check-path-route-work-without-找到默認的控制器行動 –