Symfony 4:尝试更新由 makerBundle 生成的登录表单验证器的问题,关于 csrfToken 的 RuntimeException

red*_*ddy 3 symfony4 csrf-token

我有一个项目是前一段时间用 Symfony 4 开始的。我从php bin/console make:auth命令生成了登录文件。今天我看到新文档中的文件信息发生了一些变化,所以我想更新我的。我再次运行相同的命令,重命名新的控制器和身份验证文件。但是当我尝试时,我收到了这个错误:

无法自动装配服务“App\Security\LoginFormAuthenticator”:方法“__construct()”的参数“$csrfTokenManager”引用接口“Symfony\Component\Security\Csrf\CsrfTokenManagerInterface”,但不存在这样的服务。您是否创建了实现此接口的类?

这是什么意思?

Raw*_*ner 5

我遇到过同样的问题。您必须在 config/packages/framework.yaml 中启用 csrf 保护:

framework:
    secret: '%env(APP_SECRET)%'
    csrf_protection: false #change this to true
Run Code Online (Sandbox Code Playgroud)