Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Accès OpenLDAP

1 réponse
Avatar
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

1 réponse

Avatar
Jérôme PINNEAU
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" wrote in message
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