Symfony是否正在寻找一个服务?

3

我正在尝试进行LDAP身份验证,但目前出现以下错误:

ServiceNotFoundException: 服务“security.firewall.map.context.main”依赖于不存在的服务“form.csrf_provider”。

请问有什么帮助吗?


1
你正在使用哪个版本的Symfony?请发布您的security.yml文件内容。 - Federkun
我正在使用SF V2.0.9。 - ridha
1
2.0.9?你确定吗?但为什么呢?这是一个四年前的版本。 - Federkun
我现在使用的应用程序是基于SF V2.0.9构建的,因此我认为我不使用"security.csrf.token_manager"。 - ridha
2个回答

4

您需要在配置中启用csrf_protection。打开config.yml并确保以下内容:

framework:
    csrf_protection: true

在您的配置中存在。


很好地看到了 @Federico! - chalasr

3

在Symfony 3中,form.csrf_provider已被弃用并移除。

应使用security.csrf.token_manager替代。

我猜想你正在使用一个未准备好适用于Symfony3的bundle。
查看所需bundles的README以确保它们是兼容的。

请参考3.0 CHANGELOG获取所有弃用的功能列表。

更新

实际上是相反的。您使用的是一个过旧的Symfony版本,不支持form.csrf_provider,但您肯定正在使用需要这个版本的bundle。

寻找适应您要求或Symfony版本的方法。

注意: 您应该真正更改为稳定版本的Symfony。


我仍在使用SF V2.0.9! - ridha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接