Hola.
Estoy empezando con una aplicacion con Symfony 3.3.10 que necesita loguearse de tres distintos proveedores. Necesito que el login se ha desde una base de datos y que vaya también contra el LDAP. Con la base de datos ya esta funcionando pero con la LDAP no.
security.yml
security: providers: chain_provider: chain: providers: [user_db, crm_db, my_ldap] user_db: entity: class: AppBundle:User property: username crm_db: entity: class: AppBundle:Crm property: username my_ldap: ldap: service: Symfony\Component\Ldap\Ldap base_dn: dc=mondragon,dc=edu search_dn: cn=bind-user,ou=Kudeaketa,dc=example,dc=edu search_password: password default_roles: ROLE_USER uid_key: sAMAccountName #filter: "(sAMAccountName=$username)" firewalls: default: anonymous: ~ provider: chain_provider form_login: login_path: /login check_path: /login_check #dn_string: '{username}' # field names for the username and password fields: username_parameter: _username password_parameter: _password form_login_ldap: login_path: /login check_path: /login_check service: Symfony\Component\Ldap\Ldap dn_string: 'sAMAccountName={username},dc=example,dc=edu' username_parameter: _username password_parameter: _password logout: path: /logout target: /login encoders: AppBundle\Entity\Crm: plaintext AppBundle\Entity\User: plaintext #Symfony\Component\Security\Core\User\User: bcrypt access_control: - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/$, roles: IS_AUTHENTICATED_FULLY } role_hierarchy: ROLE_ADMIN: [ROLE_USER]
Me da el ERROR, No encoder has been configured for account "Symfony\Component\Security\Core\User\User". Con lo que entiendo que tengo que añadirle la encoder pero al añadirle yo no se como esta encriptada las contraseñas de las LDAP y no melas compara bien.
services.yml
Symfony\Component\Ldap\Ldap: arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter'] Symfony\Component\Ldap\Adapter\ExtLdap\Adapter: arguments: - host: XXX.XX.XX.XX #port: encryption: none options: protocol_version: 3 referrals: false