Неразпознати опции csrf_provider под security.firewalls.form_login

Опитвам се да инсталирам FOSUserBundle, следвайки урока тук

Когато съм на 7-ма стъпка, се опитвам да актуализирам схемата на базата данни за ORM

php приложение/конзола doctrine:schema:update --force

но се появява грешката

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_protection беше активиран, но по някаква причина, която не разбирам, не работи. Опитах се да го "нулирам", като деактивирах и активирах, и сега работи. В моя проект го активирам с

csrf_protection: ~

person Gianni Alessandro    schedule 03.12.2013    source източник
comment
Междувременно имаше промяна. Името на опциите е променено от csrf_provider --› csrf_token_generator stackoverflow.com/questions/24353510/   -  person Fuzzzzel    schedule 02.12.2015


Отговори (3)


Трябва да активирате защитата на csrf. Можете да направите това, като добавите ключ към config.yml

framework:
    csrf_protection:
        enabled: true
person ghostika    schedule 03.12.2013

в security.yml

за да разрешите този проблем, просто трябва да коментирате тази команда:

csrf_token_generator: security.csrf.token_manager

и активирайте този коментар вместо това:

csrf_provider: form.csrf_provider

person mohammadmahdi moqiseh    schedule 21.05.2016

Може да има 3 основни причини за този проблем:

  1. Вие сте конфигурирали FOSU от готварска книга от symfony.com, която вече е остаряла за FOSU 2.0+. Решение:

csrf_token_generator Вместо
csrf_provider

in security.yml
  1. Не сте активирали csrf в config.yml framework: csrf_protection: enabled: true
  2. Не сте актуализирали AppKernel.php с:

    new FOS\UserBundle\FOSUserBundle(),

    Може би всичко наведнъж. Късмет :)

person Błażej Krzakala    schedule 10.07.2017