如何在Symfony2中使用FOSUserBundle正确注销
有人能告诉我,为了从后台注销,我必须采取哪些步骤 我用的是symfony2和fosuser包 这是我的保安如何在Symfony2中使用FOSUserBundle正确注销,symfony,fosuserbundle,logout,Symfony,Fosuserbundle,Logout,有人能告诉我,为了从后台注销,我必须采取哪些步骤 我用的是symfony2和fosuser包 这是我的保安 security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN providers: fos_userbundle: id: fos
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
default_target_path: /admin
# if you are using Symfony < 2.8, use the following config instead:
# 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 }
及
但不起作用
怎么办 您忘记添加路线定义 在routing.yml中:
logout:
path: /logout
注销功能内置于FOSUserBundle中 你可以检查一下这个
php app/console route:debug | grep logout
它应该显示
Name Method Scheme Host Path
fos_user_security_logout GET ANY ANY /logout
如果您希望覆盖FOSUserBundle的路由,此答案非常有用:
或者文档:“不工作”-你是什么意思?@ArturVesker我有一个-找不到“Get/”的路径-错误
php app/console route:debug | grep logout
Name Method Scheme Host Path
fos_user_security_logout GET ANY ANY /logout