对ajax提交禁用symfony 2 csrf令牌保护

前端之家收集整理的这篇文章主要介绍了对ajax提交禁用symfony 2 csrf令牌保护前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我建立一个移动应用程序,通过webservices与我的symfony2应用程序说话
我找不到一个方法来禁用csrf保护特定的控制器/操作

我想将注册数据发布到此操作,并使用sf2表单验证。我不在我的移动应用程序中调用表单

无法在操作中更改容器参数,因为它是冻结的参数而抛出异常…

我不想禁用整个我的应用程序的表单保护

任何线索?

谢谢 !

update:with symfony 2.1.x

/**
 * {@inheritdoc}
 */
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'csrf_protection'   => false,));
}
如果你想寻找一个比上述答案中建议的更简单和快速解决方案,以下是如何:
<?PHP

// ...

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
use Symfony\Component\OptionsResolver\OptionsResolver;

class MyType extends AbstractType
{
    // ...

   public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'csrf_protection' => false,));
    }
}

..或如果你使用Symfony 2.0。*:

<?PHP

// ...

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;

class MyType extends AbstractType
{
    // ....

    public function getDefaultOptions(array $options)
    {
        $options = parent::getDefaultOptions($options);
        $options['csrf_protection'] = false;

        return $options;
    }
}

有关更多信息,请咨询Symfony documentation

编辑:更新的答案最新Symfony版本,感谢 naitsirch

猜你在找的Ajax相关文章