如何在symfony中设置csrf选项


How to set csrf option in symfony

我想使用表单生成器在symfony中将CSRF错误冒泡设置为false。

我以为这样就可以了

$builder->get('_token')->setErrorBubbling(false);

但它给了我

名为"_token"的子项不存在。

csrf_field_name设置为"_token"。那么,令牌是在我的表单构建之后生成的吗?你知道我该怎么做吗?

非常感谢Dave

如果您想禁用CSRF令牌,您有两个选项:

在控制器上创建表单时,传递一个选项:

$form = $this->createForm(new AcmeForm(), $acme, array(
            'csrf_protection' => false
        ));

或者作为表单类的默认选项:

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
   $resolver->setDefaults(array(
         'csrf_protection' => false
}