DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions LDAP
  • Présentation
  • Récupérer les informations sur les utilisateurs
  • 1. Connexion au serveur qui contient l'Active Directory
  • 2. Recherche des utilisateurs
  • 3. Fermeture de la session
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
Un annuaire LDAP permet de partager des bases d'informations sur un réseau interne ou externe. Ces bases d'informations peuvent contenir toute sorte d'informations, que ce soient des coordonnées de personnes ou des données système.
Active Directory est un annuaire LDAP normalisé.
Un Active Directory permet de lister les propriétés d'un réseau, les comptes utilisateurs, les ordinateurs, ... Il est souvent utilisé pour l'identification des utilisateurs.
Cette page d'aide présente comment récupérer les informations sur les utilisateurs stockés dans un annuaire LDAP.
Récupérer les informations sur les utilisateurs

1. Connexion au serveur qui contient l'Active Directory

LDAP est basé sur une architecture de type Client/Serveur. Il est donc nécessaire de se connecter au serveur qui contient l'Active Directory.
La connexion nécessite l'adresse du serveur, le nom de l'utilisateur ainsi que son mot de passe.
Ces paramètres sont remplis dans la structure LDAPSession :
  • LDAPSession.Hôte pour l'adresse du serveur.
  • LDAPSession.Utilisateur pour le nom de l'utilisateur.
  • LDAPSession.MotDePasse pour le mot de passe.
La connexion est effectuée grâce à la fonction LDAPConnecte.
// Remplissage de la structure de connexion
LDAPSession.Hôte = SAI_SERVEUR
LDAPSession.Utilisateur = SAI_UTILISATEUR
LDAPSession.MotDePasse = SAI_MDP
// Connexion au serveur LDAP
LDAPConnecte("MaSession")
Remarques :
  • La fonction LDAPConnecte utilise les paramètres remplis dans la structure LDAPSession. Il suffit ensuite de passer en paramètre le nom à donner à la session. Il est possible d'avoir ainsi plusieurs sessions ouvertes en même temps, avec un nom différent.
  • La fonction LDAPRAZ permet de réinitialiser toutes les variables de la structure LDAPSession.
  • LDAP sécurisé SSL : La structure LDAPSession permet également de gérer une connexion sécurisée SSL via la variable LDAPSession.Option. Pour plus de détails, consultez Structure LDAPSession.

2. Recherche des utilisateurs

LDAP est une base d'informations. Cette base d'informations est organisée de manière arborescente. Elle est composée d'éléments qui peuvent contenir eux-mêmes d'autres éléments. Chaque élément possède des propriétés. Chaque élément est identifié de manière unique par un DN (Distinguished Name).
La fonction LDAPListeFils permet de lister les fils d'un élément (c'est-à-dire les éléments contenus dans cet élément).
Pour récupérer les éléments du DN Users (qui contient tous les utilisateurs), il faut passer en paramètre à la fonction LDAPListeFils :
  • Le nom de la connexion (nom défini avec la fonction LDAPConnecte),
  • Le DN de l'élément Users. Dans le cas d'un Active Directory, le DN pour récupérer les utilisateurs sera toujours le même.
La fonction LDAPListeFils renvoie une chaîne. Cette chaîne contient les identifiants de tous les fils retrouvés séparés par des retours chariots (RC).
Il suffit donc de parcourir la chaîne renvoyée pour récupérer chaque fils un par un. Ensuite, la fonction LDAPValeur permet de récupérer la valeur d'une propriété d'un élément, c'est-à-dire :
  • le nom de l'utilisateur (propriété Name),
  • la description (propriété Description),
  • la propriété Administrateur (propriété AdminCount).
// Liste les utilisateurs
sListeFils = LDAPListeFils("MaSession", "CN=Users,DC=tdf, DC=local")
// Pour tous les utilisateurs trouvés
POUR TOUTE CHAÎNE sUnFils DE sListeFils SÉPARÉE PAR RC
// Récupération des propriétés de cet utilisateur (nom, description, administrateur)
sNom = LDAPValeur("MaSession", sUnFils, "name")
sDescription = LDAPValeur("MaSession", sUnFils, "description")
bAdministrateur = LDAPValeur("MaSession", sUnFils, "adminCount")
FIN
Attention : en fonction des stratégies LDAP définies dans Active Directory, l'importation peut être limitée à 1 000 utilisateurs. Dans ce cas, pour supprimer cette limitation, il faut intervenir sur le paramètre LDAP MaxPageSize. Pour plus de détails, consultez https://support.microsoft.com/kb/315071.

3. Fermeture de la session

La fonction LDAPDéconnecte permet de terminer la session LDAP.
// Déconnexion
LDAPDéconnecte("MaSession")
Liste des exemples associés :
Les fonctions LDAP Exemples unitaires (WINDEV) : Les fonctions LDAP
[ + ] Utilisation des fonctions LDAP du WLangage.
Ces fonctions permettent d'interagir totalement avec les données LDAP, de visualiser le contenu de tout annuaire LDAP et également de modifier les données LDAP : LDAPConnecte, LDAPListeFils, LDAPAjouteAttribut, LDAPSupprimeValeurAttribut,...
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale