1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
| Procedure LDAPVerificationLoginPassword(saiLogin="",saiMDP="")
SI saiLogin = "" OU saiMDP = "" ALORS
RENVOYER 1
FIN
sDNUtilisateur est une chaîne
sUneValeur est une chaîne
nNbValeur est un entier
chaDomaine, chaServeurLDAP, chaDNUtilisateurs, chaPortLDAP, chaVersionLDAP, chaGroupe sont des chaînes
// Recherche des valeurs pour les champs
chaDomaine
chaServeurLDAP
chaDNUtilisateurs
chaPortLDAP
chaVersionLDAP
chaGroupe
SI chaDomaine = "" OU chaServeurLDAP = "" OU chaDNUtilisateurs = "" OU chaGroupe = "" OU chaPortLDAP = "" OU chaVersionLDAP = "" ALORS
RENVOYER 2
FIN
// Vérification du couple "Login / Mot de passe" utilisateur
// Initialisation
LDAPRAZ()
LDAPSession.Hôte = chaServeurLDAP
LDAPSession.Port = 389 // par défaut, utiliser la variable sinon
LDAPSession.Version = 3 // par défaut, utiliser la variable sinon
LDAPSession.Utilisateur = saiLogin + "@" + chaDomaine
LDAPSession.MotDePasse = saiMDP
// Connexion
SI PAS LDAPConnecte("MaSession") ALORS
RENVOYER 3
FIN
// Stockage du DN lié au compte de l'utilisateur
sDNUtilisateur = LDAPRecherche("MaSession",chaDNUtilisateurs,"CN="+saiLogin)
//Nb de valeur pour l'attribut "memberOf"
nNbValeur=LDAPNbValeur("MaSession",sDNUtilisateur,"memberOf")
//ajout de toutes les valeurs dans la table
POUR nNumValeur = 1 A nNbValeur
sUneValeur = LDAPValeur("MaSession",sDNUtilisateur,"memberOf",nNumValeur)
SI ChaîneOccurrence(sUneValeur,chaGroupe) ALORS
// Le groupe est trouvé, l'utilisateur a le droit d'utiliser le logiciel
// Déconnexion
LDAPDéconnecte("MaSession")
RENVOYER 0
FIN
FIN
// Aucun groupe donnant l'accès au logiciel n'a été trouvé dans les valeur de l'attribut memberOf
// Déconnexion
LDAPDéconnecte("MaSession")
RENVOYER 4 |
Partager