2016-02-12 1 views
1

Я сконфигурировал FOSUserBundle для моего пакета symfony (после поваренной книги http://symfony.com/doc/1.3.x/bundles/FOSUserBundle/index.html). Когда я пытаюсь получить доступ к странице входа в систему я получаю эту ошибку:FOSUserBundle InvalidConfigurationException после базовой конфигурации через поваренную книгу Symfony

You are not allowed to define new elements for path "security.firewalls". Please define all elements for this path in one config file. 

мой файл seurity.yml является:

security: 
encoders: 
    FOS\UserBundle\Model\UserInterface: bcrypt 

role_hierarchy: 
    ROLE_ADMIN:  ROLE_USER 
    ROLE_SUPER_ADMIN: ROLE_ADMIN 

providers: 
    fos_userbundle: 
     id: fos_user.user_provider.username 

firewalls: 
    main: 
     pattern: ^/ 
     form_login: 
      provider: fos_userbundle 
      csrf_provider: security.csrf.token_manager # Use form.csrf_provider instead for Symfony <2.4 
     logout:  true 
     anonymous: true 

access_control: 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/admin/, role: ROLE_ADMIN } 

Я не могу понять, в чем проблема, любое предложение? Заранее спасибо

ответ

0

первая проблема, которую я вижу это проблема отступы в файле безопасности YAML:

security: 
    encoders: 
     FOS\UserBundle\Model\UserInterface: bcrypt 

    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 

    providers: 
     fos_userbundle: 
      id: fos_user.user_provider.username 

    firewalls: 
     main: 
      pattern: ^/ 
      form_login: 
       provider: fos_userbundle 
       csrf_provider: security.csrf.token_manager # Use form.csrf_provider instead for Symfony <2.4 
      logout:  true 
      anonymous: true 

    access_control: 
     - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/admin/, role: ROLE_ADMIN } 

Проверьте тщательно документация доступны на https://symfony.com/doc/master/bundles/FOSUserBundle/index.html, проверить маршруты, очистить кэш и вы обычно делается;)

Не стесняйтесь возвращаться сюда, если возникнут другие проблемы.

С наилучшими пожеланиями.

+0

извините, плохой отступ был моей копией и вставкой не удалось .. Кстати, попробовав изменить «главное» в «secure_area», это работает, любое другое имя брандмауэра вызывает исключение – Rax

+0

Молодец, рад, что вы его разработали. – NoX

+0

теперь мой вопрос: почему я не могу использовать «main» в качестве имени моего брандмауэра? Я не понимаю исключения .. – Rax

Смежные вопросы