Comment accéder à un annuaire LDAP (Active directory) ?
#####Déclaration de collection de procédure#####
CONSTANTE
LDAP = "SESSION_LDAP"
FIN
gbBConnecte est un booléen //Connecté ou non au LDAP
gsHote est une chaîne //Adresse du serveur LDAP
gsUtilisateur est une chaîne //Utilisateur LDAP
gsMotDePasse est une chaîne //Mot de passe Utilisateur LDAP
gnPort est un entier //Port du serveur LDAP
gnVersion est un entier //Version d'Active Directory
#####Procédure globale Connecte#####
PROCEDURE Connecte()
//Connection au serveur LDAP
bRes est un booléen
//On vérifie que l'init à été faite
SI gsHote = "" ALORS RENVOYER Faux
//On remplit la structure LDAP
LDAPSession.Hote = gsHote
LDAPSession.Utilisateur = gsUtilisateur
LDAPSession.MotDePasse = gsMotDePasse
LDAPSession.Port = gnPort
LDAPSession.Version = gnVersion
//Tentative de connexion
bRes = LDAPConnecte(LDAP)
SI bRes ALORS gbBConnecte=Vrai
RENVOYER bRes
#####Procédure globale ListeCollaborateur#####
PROCEDURE ListeCollaborateur(_Séparateur=RC)
sListeFils est une chaîne
unFils est une chaîne
sListeCol est une chaîne
sCN est une chaîne
sValMemberOf est une chaîne
bTower est un booléen
bUtilReseau est un booléen
sdisplayName est une chaîne
//Liste des collaborateurs.
sListeFils = LDAPListeFils(LDAP,"OU=Collaborateurs,DC=societe,DC=com")
//Parcours la liste des fils de « OU=Collaborateurs »
POUR TOUTE CHAINE unFils DE sListeFils SEPAREE PAR RC
//Pour chaque fils, il faut vérifier si il fait partie de PERSONNE
//Membersof contient CN=PERSONE_PHYSIQUE
sValMemberOf = LDAPValeur(LDAP,unFils,"MemberOf")
SI Position(sValMemberOf,"CN=PERSONE_PHYSIQUE")= 0 ALORS
//C'est un c’est un collaborateur
sCN = LDAPValeur(LDAP,unFils,"CN")
sListeCol+=sCN+_Séparateur
FIN
FIN
RENVOYER sListeCol
Source: codewindev