【发布时间】:2015-01-03 09:48:56
【问题描述】:
我想在 symfony 中使用表单生成器在表单上将 CSRF 错误冒泡设置为 false。
我以为这样就可以了
$builder->get('_token')->setErrorBubbling(false);
但它给了我
名为“_token”的孩子不存在。
csrf_field_name 设置为“_token”。那么,在我的表单构建之后会生成令牌吗?有什么想法可以做到这一点吗?
非常感谢 戴夫
【问题讨论】:
我想在 symfony 中使用表单生成器在表单上将 CSRF 错误冒泡设置为 false。
我以为这样就可以了
$builder->get('_token')->setErrorBubbling(false);
但它给了我
名为“_token”的孩子不存在。
csrf_field_name 设置为“_token”。那么,在我的表单构建之后会生成令牌吗?有什么想法可以做到这一点吗?
非常感谢 戴夫
【问题讨论】:
如果您想禁用 CSRF 令牌,您有两个选择:
在控制器上创建表单时传递一个选项:
$form = $this->createForm(new AcmeForm(), $acme, array(
'csrf_protection' => false
));
或作为表单类的默认选项:
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'csrf_protection' => false
}
【讨论】: