3

フレームワークの csrf_protection を有効または無効にする Symfony2 の提案。例:

    csrf_protection: 
        enabled: false

または
csrf_protection: false

2 つの構成がまったく異なることに注意してください。最初の構成は、csrf がロードされていることを意味しますが、false です。senconde は、この機能をロードしていません。まあ、特別なフォームで簡単に有効にすることができます。例:

    public function getDefaultOptions(array $options)
{
    return array(
            'data_class' => 'xxx\Entity\Company',
            'csrf_protection' => true,
    );
}

フォーム ビルダー クラスで。

しかし、それでは十分ではないと思うので、この質問をします。次のようなことができますか:

mybundle:
    csrf_protection:
        enabled: false
4

1 に答える 1

1

プロジェクト内のすべてのバンドルに対して、ファイル内の csrf_protection をグローバルに無効にすることができますconfig.ymlが、バンドルの 1 つだけに対して無効にすることはできないと思います。

代わりに、次のように、そのバンドルのすべての Form クラスで options 配列を変更する必要があります。

class TaskType extends AbstractType
{
    // ...

    public function getDefaultOptions(array $options)
    {
        return array(
            'data_class'      => 'Acme\TaskBundle\Entity\Task',
            'csrf_protection' => false
        );
    }

    // ...
} 
于 2013-01-14T12:46:48.340 に答える