2016-07-10 4 views
0

Я пытаюсь установить логин с FosUserBundle на Synfony 2.8, но я GTE эту ошибку, когда я пытаюсь запустить серверSymfony Component Config Определение Exception InvalidTypeException на Symfony2.8

[ Symfony \ Component \ Config \ Definition \ Exception \ InvalidTypeException]
Недопустимый тип для пути "security.firewalls.pattern". Ожидаемый массив, но есть строка

Это security.yml файл

# To get started with security, check out the documentation: 
# http://symfony.com/doc/current/book/security.html 
security: 
    providers: 
     in_memory: 
      memory: ~ 
     fos_userbundle: 
      id: fos_user.user_provider.username 

    firewalls: 
     pattern: ^/ 
     form_login: 
      provider: fos_userbundle 
      csrf_token_generator: security.csrf.token_manager 
     logout:  true 
     anonymous: true 
     # disables authentication for assets and the profiler, adapt it according to your needs 
     dev: 
      pattern: ^/(_(profiler|wdt)|css|images|js)/ 
      security: false 

     main: 
      anonymous: ~ 
      # activate different ways to authenticate 

      # http_basic: ~ 
      # http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate 

      # form_login: ~ 
      # http://symfony.com/doc/current/cookbook/security/form_login_setup.html 
     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 } 
    encoders: 
     UserBundle\Entity\User: 
      algorithm: bcrypt 
      cost: 12 
     FOS\UserBundle\Model\UserInterface: bcrypt 

    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 

и это файл config.yml

imports: 
    - { resource: parameters.yml } 
    - { resource: security.yml } 
    - { resource: services.yml } 
    - { resource: "@UserBundle/Resources/config/services.yml" } 

parameters: 
    locale: en 

framework: 
    translator:  { fallbacks: [en] } 
    secret:   "%secret%" 
    router: 
     resource: "%kernel.root_dir%/config/routing.yml" 
     strict_requirements: ~ 
    form:   ~ 
    csrf_protection: ~ 
    validation:  { enable_annotations: true } 
    templating: 
     engines: ['twig'] 
    default_locale: es 
    trusted_hosts: ~ 
    trusted_proxies: ~ 
    session: 
     handler_id: ~ 
    fragments:  ~ 
    http_method_override: true 

# Twig Configuration 
twig: 
    debug:   "%kernel.debug%" 
    strict_variables: "%kernel.debug%" 

# Doctrine Configuration 
doctrine: 
    dbal: 
     driver: pdo_mysql 
     host:  "%database_host%" 
     port:  "%database_port%" 
     dbname: "%database_name%" 
     user:  "%database_user%" 
     password: "%database_password%" 
     charset: UTF8 

    orm: 
     auto_generate_proxy_classes: "%kernel.debug%" 
     naming_strategy: doctrine.orm.naming_strategy.underscore 
     auto_mapping: true 

# Swiftmailer Configuration 
swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    spool:  { type: memory } 

fos_user: 
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' 
    firewall_name: main 
    user_class: AppBundle\Entity\User 

Я думаю, что я последовал официальный doc, но он не работает

ответ

2

Похоже, что вам необходимо реорганизовать брандмауэры:

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    main: 
     pattern: ^/ 
     form_login: 
      provider: fos_userbundle 
      csrf_token_generator: security.csrf.token_manager 
     logout:  true 
     anonymous: true 
+0

Теперь у меня есть эта ошибка '[Symfony \ Component \ Config \ Определение \ Exception \ InvalidConfigurationException] Непризнанные опции "0, 1, 2, 3" под "security.firewalls.access_control"' – AFS

+0

@AFS пожалуйста переместите свой блок управления доступом 4 пробела назад –

+0

теперь работает, спасибо – AFS