首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"csrf_provider“下的未识别选项"security.firewalls.form_login”

"csrf_provider“下的未识别选项"security.firewalls.form_login”
EN

Stack Overflow用户
提问于 2013-12-03 11:48:16
回答 3查看 7K关注 0票数 8

我正在尝试按照教程FOSUserBundle安装这里

当我进入第7步时,我尝试更新ORM运行的数据库模式

php应用程序/控制台原则:模式:更新-强制

却出现了错误

代码语言:javascript
复制
InvalidConfigurationException: Unrecognized options "csrf_provider" under "security.firewalls.form_login"

这是我的防火墙:

代码语言:javascript
复制
firewalls:
        main:
        pattern: 
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
        logout:       true
        anonymous:    true

我能做什么?我没有设定模式,因为,如果我设置了这样的

代码语言:javascript
复制
        pattern: ^/

出现以下错误:

InvalidTypeException:路径"security.firewalls.pattern“的无效类型。预期数组,但得到字符串

更新:

csrf_protection是启用的,但由于一些我不明白的原因,它没有工作。我试图“重置”它,禁用和启用,现在它起作用了。在我的项目中,我用

代码语言:javascript
复制
csrf_protection: ~
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-03 13:35:26

你需要启用csrf保护。您可以通过向config.yml添加一个键来做到这一点。

代码语言:javascript
复制
framework:
    csrf_protection:
        enabled: true
票数 7
EN

Stack Overflow用户

发布于 2016-05-21 12:15:53

在security.yml中

要解决这个问题,只需对以下命令进行注释:

csrf_token_generator: security.csrf.token_manager

并启用此注释:

csrf_provider: form.csrf_provider

票数 2
EN

Stack Overflow用户

发布于 2017-07-10 10:06:42

造成这一问题的主要原因有三:

  1. 您已经从symfony.com的食谱中配置了FOSU,这对于FOSU 2.0+来说已经过时了。解决方案:

csrf_token_generator而不是

csrf_provider

代码语言:javascript
复制
in security.yml
  1. 您尚未在config.yml framework: csrf_protection: enabled: true中启用csrf。
  2. 您没有用以下内容更新AppKernel.php: new FOS\UserBundle\FOSUserBundle(), 也许是一次。祝你好运:)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20350330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档