PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

LDAP
Débuté par bluneau.franck, 07 oct. 2016 09:11 - 1 réponse
Posté le 07 octobre 2016 - 09:11
Bonjour,

je recherche un exemple de code de connexion à un serveur LDAP et la méthode pour récupérer les données. J'ai essayé avec l'aide de Windev, mais je séche. Merci d'avance
Membre enregistré
948 messages
Posté le 22 octobre 2016 - 15:08
Bonjour
Voici un exemple de lecture des attributs et des valeurs associées.

Pour info LDAP est un protocole de communication avec un annuaire.
L'annuaire peut être sur n'importe quel type d'ordinateur (serveur ou non) et stocké dans différents format de base (Oracle, SQL Serveur, PostgreSQL...)
Pour faire des tests sur un PC en local il y a par exemple OpenLDAP (http://www.userbooster.de/en/download/openldap-for-windows.aspx) qui fonctionne très bien avec Windev

i, nbValue est un entier
sListeDn, sDn, sListeAttributs, sAttribut est une chaîne

LDAPRAZ()
LDAPSession.Hôte = "serveur" // adresse ip ou ou nom dns du serveur sur lequel ce trouve l'annuaire
LDAPSession.Port = 389
LDAPSession.Version = 3
LDAPSession.Utilisateur = "cn=manager,dc=maxcrc,dc=com" //nom d'un l'utilisateur autorisé à se connecter à l'annuaire
LDAPSession.MotDePasse = "*****" // son mot de passe
IF LDAPConnecte("OpenLdap") THEN
//info("Connecté !")
sListeDn = LDAPRecherche("OpenLdap","dc=maxcrc,dc=com","(sn=Toto)") // recherche à partir de dc=maxcrc,dc=com le nom (sn=Toto)
IF sListeDn <> "" THEN
FOR ALL STRING sDn OF sListeDn SEPARATED by RC
sListeAttributs = LDAPListeAttribut("OpenLdap", sDn)
IF sListeAttributs <> "" THEN
FOR ALL STRING sAttribut OF sListeAttributs SEPARATED by RC
IF sAttribut <> "" THEN
Trace(sAttribut + " :")
nbValue = LDAPNbValeur("OpenLdap", sDn, sAttribut)
IF nbValue > 0 THEN
FOR i=1 _TO_ nbValue
Trace(TAB+LDAPValeur("OpenLdap", sDn, sAttribut, i))
END
END
END
END
ELSE
Erreur(ErreurInfo(errComplet))
END
END
END
LDAPDéconnecte("OpenLdap")
ELSE
Erreur(ErreurInfo(errComplet))
END