Accès OpenLDAP

Le
François
Bonjour,

Je cherche des exemples pour ouvrir une connexion et accéder à un
OpenLdap en accès anonymous.

Sous AD, pas de soucis en utilisant un identifiant :

// connexion a l'annuaire
DirectoryEntry Ldap = new DirectoryEntry("LDAP://x.x.x.x", "login",
"Password");

//Nouvel objet pour instancier DirectorySearcher searcher = new
DirectorySearcher(Ldap);

// Modification du filtre
searcher.Filter = "(mail=" + mail.Text + ")";

// Pas de boucle foreach car on ne cherche qu'un user
SearchResult result = searcher.FindOne();

// On récupère l'objet trouvé lors de la recherche
DirectoryEntry DirEntry = result.GetDirectoryEntry();

etc



Merci pour vos réponses
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérôme PINNEAU
Le #12195761
Bonjour,

Tu demande un exemple, mais tu en donne un ;)
ce que tu as mis est effectivement une solution fiable en .net pour
intérroger un LDAP.
Si tu souhaites une connexion "anonymous", tu doit utiliser l'autre
constructeur de DirectoryEntry
Voici un exemple de mon code dans une application WEB SSO :
Si l'utilisateur est en "anonymous" _ADAdminLogin et _ADAdminPassword sont
égal à ""
mais cela ne suffit pas, il faut affecter AuthenticationType à
AuthenticationTypes.Anonymous

bool result = false;
DirectoryEntry Ldap = new DirectoryEntry(_sLdapPath, _ADAdminLogin,
_ADAdminPassword);
try
{
if ((_ADAdminLogin == "") && (_ADAdminPassword == ""))
Ldap.AuthenticationType =
AuthenticationTypes.Anonymous;
DirectorySearcher resultSet = new
DirectorySearcher(string.Concat("LDAP://" , pstrPath));
resultSet.Filter = string.Concat("SAMAccountName=", UserName, "");
SearchResultCollection oResult = resultSet.FindAll();
if (oResult.Count >= 1)
result = true;
else
result = false;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw ex;
}
finally
{
Ldap.Close();
Ldap.Dispose();
}
return result;

bien à toi,

Vladam


"François" news:
Bonjour,

Je cherche des exemples pour ouvrir une connexion et accéder à un OpenLdap
en accès anonymous.

Sous AD, pas de soucis en utilisant un identifiant :

// connexion a l'annuaire
DirectoryEntry Ldap = new DirectoryEntry("LDAP://x.x.x.x", "login",
"Password");

//Nouvel objet pour instancier DirectorySearcher searcher = new
DirectorySearcher(Ldap);

// Modification du filtre
searcher.Filter = "(mail=" + mail.Text + ")";

// Pas de boucle foreach car on ne cherche qu'un user
SearchResult result = searcher.FindOne();

// On récupère l'objet trouvé lors de la recherche
DirectoryEntry DirEntry = result.GetDirectoryEntry();

etc...



Merci pour vos réponses







Publicité
Poster une réponse
Anonyme