[Debutant] Authentification et requetes LDAP [Résolu]

Signaler
Messages postés
55
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
24 novembre 2009
-
Messages postés
55
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
24 novembre 2009
-
(Re) bonsoir tout le monde !

Encore et toujours des questions de grand débutant...(grand, grand débutant)...
Bon, je suis en galere sur plein de choses là
Je voudrais faire des requetes LDAP via mon soft, mais je n'ai pas tout saisi... J'ai cherché un peu sur le net...

Enfin bon,


il faut apparemment ajouter une référence au projet (System.DirectoryServices.dll) : ça a l'air d'être ok
ensuite, il faut ajouter le using (using System.DirectoryServices;) : ça a l'air d'être ok aussi  



Après avoir fait quelque recherches sur ce site, j'ai trouvé une tonne de codes, mais aucun de commentés et pas clair pour un débutant tel que moi





Donc mes questions :

Comment s'identifier avec un compte se trouvant sur le domaine ?
Comment faire mes requetes ?

P.S. : Est il possible d'expliquer le code histoire que je en recopie pas bêtement ?

Merci.

2 réponses

Messages postés
55
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
24 novembre 2009

Voila la réponse à ma question puis une autre question ^^
http://www.csharpfr.com/infomsg_CIBLER-REQUETE_1096506.aspx
Messages postés
128
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
2 août 2009
3
Salut,
pour ouvrir une connexion à AD:
DirectoryEntry myAdConnection = new DirectoryEntry(@"LDAP://{MON_AD}");

Après, tu créer un nouveau searcher, il te permet de rechercher des données dans AD, tu lui donne comme paramètre le nom de ta connexion
DirectorySearcher myAdSearcher = new DirectorySearcher(myAdConnection);

Tu créer un nouveau directoryEntry, ca représentera une entrée de AD
DirectoryEntry c;

là tu donne as ton searcher un filtre, avec SAMAccountName, tu vas rechercher des noms de login dans AD, regarde sur msdn tu trouvera toutes les variables. Là je cherche le login Charles
myAdSearcher.Filter = "(SAMAccountName=Charles)";

Instancie après un SearchResult, ca contiendra les valeurs trouvé par ta recherche. Avec FindOne(), tu reprends une seul entrée. L'entrée retourner sera utiliser en tant qu'object Si tu veux en retrouve plusieurs, tu peut utiliser FindAll() et ensutie tu faite un foreach pour utliser les résultats
SearchResult currentResult = myAdSearcher.FindOne();

Pour utiliser le résultat, tu fait la chose suivante:
c = currentResult.GetDirectoryEntry();
lorsque "c" est ta directoryEntry créer plus haut.
Après tu peux atteindre les propriétés de ton résultat comme ca:
c.Properties["SAMAccountName"].value.

Ca marche comme ca?