我无法注销用户。
我将自定义用户管理逻辑移植到 Symfony 4 项目中。security
它使用和的食谱guard
。
这是logout
我的主防火墙中的配置:
logout:
path: /logout
target: /
结果: - 用户转到 /logout - 用户被重定向到 / -is_granted("IS_AUTHENTICATED_REMEMBERED")
继续true
在我的模板中返回(false
预期)
其他注意事项: - 防火墙条目被触发,因为如果我删除它会出错 - 我尝试添加其他参数来logout
销毁会话和 cookie,但这没有任何区别 - 登录工作正常
关于如何解决这个问题的任何想法?
:: 编辑 -security.yaml
按要求添加 ::
security:
encoders:
App\Entity\User: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
app_users:
entity: { class: App\Entity\User, property: email }
app_oauth:
id: app.oauth_user_provider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
provider: app_users
anonymous: ~
oauth:
resource_owners:
google: "/login/check-google"
default_target_path: /
login_path: /
failure_path: /login
oauth_user_provider:
service: app.oauth_user_provider
remember_me:
secret: "%env(APP_SECRET)%"
lifetime: 2592000
path: /
guard:
authenticators:
- App\Security\LoginFormAuthenticator
entry_point: App\Security\LoginFormAuthenticator
logout:
path: /logout
target: /
switch_user: ~