Symfony3:服务"security.firewall.map.context.main"依赖于不存在的服务"security.csrf.token_manager"



Symfony 3.0.7

我正在尝试全局禁用csrf保护:

framework:
csrf_protection: false

然后我有一个例外:

Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException:服务"security.firewall.map.context.main"依赖于不存在的服务"security.csrf.token_manager".

但是如果我尝试在代码中直接使用服务"security.csrf.token_manager",那么它就存在。

完整错误回溯:

Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException:服务"security.firewall.map.context.main"依赖于不存在的服务"security.csrf.token_manager".

/var/www/studio.lc/vender/symfony/symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:58/var/www/studio.lc/vender/symfony/symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:42/var/www/studio.lc/vender/symfony/symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:53/var/www/studio.lc/vender/symfony/symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:51/var/www/studio.lc/vender/symfony/symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:42/var/www/studio.lc/vender/symfony/symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:36/var/www/studio.lc/vender/symfony/symfony/Component/DependencyInjection/Compiler/Compiler.php:104/var/www/studio.lc/vender/symfony/symfony/src/symfony/Component/DependencyInjection/ContainerBuilder.php:545/var/www/studio.lc/vender/symfony/symfony/src/symfony/Component/HttpKernel/Kernel.php:477/var/www/studio.lc/vender/symfony/symfony/src/symfony/Component/HttpKernel/Kernel.php:117/var/www/studio.lc/vvendor/symfony/symfoy/Bundle/FrameworkBundle/Test/KernelTestCase.php:146/var/www/studio.lc/vender/symfony/symfony/src/symfony/Bundle/FrameworkBundle/Test/WebTestCase.php:33/var/www/studio.lc/src/studio/Bundle/AdminBundle/Tests/Controller/SecuredReaControllerWebTestCase.php:21

如何修复它?

这是config.yml中的以下语法:

csrf_protection: 
enabled: false

如果您只是转到security.yml文件并从form_login指令中删除csrf_provider或csrf_token_generator。

相关内容

最新更新