Bonjour a tous, j'en appelle aux pro , dev seniors et autres experts de la programmation, car j'ai un petit peu besoin d'aide.
Voila j'essaye de créé un site qui fait partie d'un intranet, en gros on me demande de gérer la connection avec différents type de fournisseurs d'utilisateur, l'un avec la DDB c'est à dire en local, l'autre avec le protocol LDAP de l'entreprise.
En clair, on a besoin d'un seul des 2 types de compte pour ce co et le problème , seul la partie locale marche, j'ai pas l'impression que j'atteigne même le serveur LDAP qui utilise TLS , ou le fait d'utiliser les login de FOSUserbundle empeche le LDAP de fonctionner ? Sa ne maffiche aucune erreur sur el site , sa me fait juste le traditionnel "invalid credential"
Je suis sous symfony 3.3 et j'utilise la dernière version release de LDAP component pour symfony ainsi que FOS userbundle v 2
Soyons honnetes , je suis une quiche en protocole reseau donc peut être que j'ai pas tous compris non .
Merci par avances de vos aide et futurs conseils.
Fichier services.yaml
services:
Symfony\Component\Ldap\Ldap:
class: Symfony\Component\Ldap\Ldap
arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
class: Symfony\Component\Ldap\Adapter\ExtLdap\Adapter
arguments:
- host: mon.serveur.ldap
- port: 636
- encryption: tls
- options:
protocol_version: 3
referrals: false
Fichier security.yaml , provider
providers:
chain_provider:
chain:
providers: [fos_userbundle, my_ldap]
fos_userbundle:
id: fos_user.user_provider.username
my_ldap:
ldap:
service: Symfony\Component\Ldap\Ldap
base_dn: ou=people,dc=societe,dc=fr
search_dn: "cn=user,ou=people,dc=societe,dc=fr"
search_password: password
default_roles: 'ROLE_USER'
uid_key: 'uid'
filter: '({uid_key}={username})'
Fichier security.yaml firewall
main:
pattern: ^/
anonymous: true
logout: true
provider: chain_provider
form_login_ldap:
provider: my_ldap
service: Symfony\Component\Ldap\Ldap
dn_string: "uid={username},ou=people,dc=societe,dc=fr"
query_string: '(&(uid={username})(ou=people,dc=societe,dc=fr))'
check_path: fos_user_security_check
login_path: fos_user_security_login
default_target_path: index
#form_login:
#login_path: fos_user_security_login
#check_path: fos_user_security_check
#default_target_path: index
logout:
path: fos_user_security_logout
target: fos_user_security_login