[英]Symfony2 logout controller not found
我設法使登錄可以在Symfony2中使用,但是/ logout遇到了麻煩。 我有一個例外,說找不到路由的控制器。 但是,我給人的印象是Symfony處理注銷過程,就像處理登錄一樣?
我的security.yml文件(的一部分):
firewalls:
login_firewall:
pattern: ^/login/
anonymous: ~
secured_area:
pattern: ^/(dashboard|directories|login_check)/
anonymous: ~
form_login:
login_path: /login/
check_path: /login_check/
logout:
path: /logout/
target: /
我的(相關)路線:
_login:
pattern: /login/
defaults: { _controller: NanoBundle:Login:index }
_login_check:
pattern: /login_check/
_logout:
pattern: /logout/
--edit:注銷按鈕代碼:
<a href="{{path('_logout')}}">Logout</a>
我最終使用security.yml部分修復了它:
secured_area:
pattern: .*
security: true
form_login:
login_path: /login/
check_path: /login_check/
logout:
path: /logout/
invalidate_session: true
感謝大家在此方面的幫助:)
使用以下security.yml部分修復了該問題:
security:
providers:
fos_userbundle:
id: fos_user.user_manager
encoders:
FOS\UserBundle\Model\UserInterface: sha512
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/*, role: ROLE_ADMIN }
# URL of FOSUserBundle which need to be available to anonymous users
- { path: ^/_wdt, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/_profiler, role: IS_AUTHENTICATED_ANONYMOUSLY }
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
試試這個可能對您有幫助.. :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.