Symfony登录页开发报错:_security_logout不支持firewalls配置项
Symfony路由配置报错原因及解决方法
报错原因
你把防火墙(firewalls)的配置代码错误放到了路由配置文件config/routes/security.yaml中。这个文件仅用于定义路由规则,只支持错误提示里列出的配置项(比如resource、type等),完全不识别firewalls配置键,因此触发报错。
解决步骤
- 拆分配置文件:将
firewalls相关的配置代码,移动到Symfony安全组件的核心配置文件config/security.yaml中,这个文件才是专门用来配置防火墙、登录验证规则的地方。 - 修正路由文件:
config/routes/security.yaml只保留路由相关配置,内容应为:
_security_logout: resource: security.route_loader.logout type: service
正确的安全配置示例(config/security.yaml)
security: # 可添加其他安全配置(比如用户提供者、密码加密规则等) firewalls: main: anonymous: true # 允许匿名访问登录页等路径 form_login: login_path: app_login check_path: app_login enable_csrf: true logout: path: _security_logout # 关联路由文件里的登出路由
内容的提问来源于stack exchange,提问作者Jakub Niczyporuk
相关产品推荐
相关产品推荐

