正如标题所说,我在 Symfony 2.8 版的注销系统上遇到了问题。
我遵循了文档,它在开发环境中工作。但在生产中,我得到了一个很棒的结果:
未找到
在此服务器上未找到请求的 URL /logout。
这是安全配置:
security:
role_hierarchy:
ROLE_VISITEUR: ['ROLE_TEST_VISITEUR']
ROLE_REDACTEUR: ['ROLE_VISITEUR', 'ROLE_TEST_REDACTEUR']
ROLE_VALIDATEUR_MODIFICATION: ['ROLE_VISITEUR', 'ROLE_TEST_VALIDATEUR_MODIFICATION']
ROLE_ADMIN: ['ROLE_REDACTEUR', 'ROLE_VALIDATEUR_MODIFICATION']
# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
logout:
path: /logout
target: /
remember_me:
secret: '%secret%'
lifetime: 60*60*10
always_remember_me: true
guard:
authenticators:
- app.sso_authenticator
# activate different ways to authenticate
# http_basic: ~
# http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate
# form_login: ~
# http://symfony.com/doc/current/cookbook/security/form_login_setup.html
和routing.yml:
logout:
path: /logout
我清空了dev和prod上的缓存,但什么也没发生。debug:router命令很好地显示了注销路由。并且日志是空的,因为它是 404 错误。
谢谢你的帮助。