Múltiples proveedores de usuario al hacer el login con Symfony 2.7

Hola!

En mi aplicación (uso Symfony2.7) necesito que el login se ha desde una base de datos y que vaya también contra el LDAP, por tanto utilizando varios proveedores de usuarios. Estuve leyendo la sección de este blog donde se habla sobre esto (https://librosweb.es/libro/symfony_2_x/capitulo_13/usuarios.html) y siguiendolo cree mi código:

providers:
    chain_providers:
      chain:
         providers: [ldap, in_memory]
      ldap:
          id: acme_ldap.security.user.provider
      in_memory:
            memory: 
               users:             
                   testuser:             
                       password: test
                       roles: 'ROLE_USER'

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

    login:
      pattern: ^/login$
      security: false

    restricted_area:
      pattern: ^/
      security: true
      acme_ldap: ~
      provider: in_memory
      logout:
        path:           /logout
        target:         /
      form_login:
        success_handler: acme_acme_security.service.login_success_handler

Me sale el siguiente mensaje: Unrecognized options "ldap, in_memory" under "security.providers.chain_providers"

¿Alguno podría ayudarme?

GRACIAS!!

Respuestas

#1

Hola:

Antes de nada, decirte que no hace falta que hagas 7 veces la pregunta para que la respondamos.

La respuesta esta sacada de la documentación oficial:

Multiples providers

#2

@TsubasaAkai, la documentación oficial también la he leído.

Lo que quiero saber es por qué me da ese error.

#3

Me temo que la sintaxis YAML es incorrecta. Las claves ldap y in_memory tienen que estar en el mismo nivel de indentación que chain_providers. En otras palabras, la clave providers debería tener tres elementos hijo (chain_providers, ldap y in_memory), pero solo tiene uno llamado chain_providers.

#4

Efectivamente @javiereguiluz.

Muchas gracias.