Symfony 3.4中AuthorizationChecker服务未暴露的配置方案咨询
要让security.authorization_checker服务正常注册,核心是给Security组件配置最基础的规则——该服务依赖SecurityBundle的初始化逻辑,无基础配置时不会自动生成。具体操作步骤如下:
完善
app/config/security.yml的基础配置
即使不需要复杂认证逻辑,也得定义至少一个防火墙和基础访问规则,示例配置如下:security: firewalls: # 定义覆盖全站的匿名防火墙 main: anonymous: ~ access_control: # 允许所有匿名用户访问站点(可选,避免默认权限拦截) - { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }清除Symfony缓存
配置修改后必须清除缓存才能生效,执行命令:app/console cache:clear验证服务是否存在
再次执行检查命令:app/console debug:container | grep "checker"此时应该能看到
security.authorization_checker服务条目。
额外检查:如果上述操作后仍无效,确认app/AppKernel.php的registerBundles()方法中已注册SecurityBundle,即存在以下代码:
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
内容的提问来源于stack exchange,提问作者user3174311
相关产品推荐
相关产品推荐

