Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony “未确认的期权”;csrf“供应商”;在"下,;安全。防火墙。表单“U登录”;_Symfony_Csrf_Fosuserbundle - Fatal编程技术网

Symfony “未确认的期权”;csrf“供应商”;在"下,;安全。防火墙。表单“U登录”;

Symfony “未确认的期权”;csrf“供应商”;在"下,;安全。防火墙。表单“U登录”;,symfony,csrf,fosuserbundle,Symfony,Csrf,Fosuserbundle,我正在按照教程安装FOSUserBundle 当我在第7步时,我尝试更新数据库模式以运行ORM php应用程序/控制台原则:模式:更新——强制 但是出现了错误 InvalidConfigurationException: Unrecognized options "csrf_provider" under "security.firewalls.form_login" 这是我的防火墙: firewalls: main: pattern: for

我正在按照教程安装FOSUserBundle

当我在第7步时,我尝试更新数据库模式以运行ORM

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

但是出现了错误

InvalidConfigurationException: Unrecognized options "csrf_provider" under "security.firewalls.form_login"
这是我的防火墙:

firewalls:
        main:
        pattern: 
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
        logout:       true
        anonymous:    true
我能做什么?我不设定模式,因为如果我设定

        pattern: ^/
出现以下错误:

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

更新:

csrf_保护已启用,但由于我不理解的原因,无法工作。我试图“重置”它,禁用和启用,现在它工作了。 在我的项目中,我使用

csrf_protection: ~

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

framework:
    csrf_protection:
        enabled: true
在security.yml中

要解决此问题,只需注释此命令:

csrf_令牌_生成器:security.csrf.token_管理器

并启用此注释:


csrf\u提供程序:form.csrf\u提供程序出现此问题的主要原因有三个:

  • 您已经从symfony.com的cookbook中配置了FOSU,该配置对于FOSU 2.0+来说已经过时。解决方案:
  • csrf\u令牌\u生成器
    代替
    csrf\u提供商

    in security.yml
    
  • 您尚未在config.yml中启用csrf
    
    框架:
    csrf_保护:
    已启用:真
  • 您没有使用以下内容更新AppKernel.php:

    new FOS\UserBundle\FOSUserBundle(),

    也许一下子。祝你好运:)


  • 与此同时,情况发生了变化。选项名称已从csrf\U提供程序-->csrf\U令牌\U生成器更改