Problème ldapV3 et C#.

Imirk Messages postés 1 Date d'inscription mardi 23 octobre 2007 Statut Membre Dernière intervention 4 février 2008 - 4 févr. 2008 à 18:45
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 - 6 févr. 2008 à 13:42
Bonjour,

Voila je dois faire une requete vers un serveur qui ne comprend que le ldapV3, mon code est le suivant, mais il me renvoie une erreur une fois que je me suis authentifié, pouvez vous me dire s'il y a une erreur dans le code?
Merci bcp pour votre aide

-- Code --

public static string InformationAnnuaire(string champ, string login)
    {
        DirectoryEntry ldap = new DirectoryEntry("LDAP://adressedel'annuaire/ou=people,dc=X,dc=fr");
        ldap.Username = "cn=monlogin,ou=applications,dc=X,dc=fr";
        ldap.Password = "pwd";
        ldap.AuthenticationType = AuthenticationTypes.ServerBind;
        DirectorySearcher ldap_searcher = new DirectorySearcher(ldap);
        ldap_searcher.SearchScope = SearchScope.Subtree;
        ldap_searcher.Filter = "(supannAliasLogin=" + login + ")";
        SearchResult resultat = ldap_searcher.FindOne();
        DirectoryEntry ldap_resultat = new DirectoryEntry();
        ldap_resultat = resultat.GetDirectoryEntry();
--
Voici le message d'insulte que je recois ^^

Erreur inconnue (0x80005000)
Description :
Une exception non gérée s'est produite au moment de l'exécution de la
demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur
l'erreur et son origine dans le code.

Détails de l'exception:
System.Runtime.InteropServices.COMException: Erreur inconnue
(0x80005000)

Erreur source:

Ligne 25 :         //ldap_searcher.Filter   = "(supannAliasLogin=" + login + ")";

Ligne 26 : ldap_searcher.Filter = login;
Ligne 27 : SearchResult resultat = ldap_searcher.FindOne();
Ligne 28 : DirectoryEntry ldap_resultat = new DirectoryEntry();
Ligne 29 : ldap_resultat = resultat.GetDirectoryEntry();

Fichier
source : e:\Projet\ldap.cs    Ligne : 27

Trace de la pile:

[COMException (0x80005000): Erreur inconnue (0x80005000)]

System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) +451
System.DirectoryServices.DirectoryEntry.Bind() +36
System.DirectoryServices.DirectoryEntry.get_AdsObject() +31
System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne) +73
System.DirectoryServices.DirectorySearcher.FindOne() +42
ldap.InformationAnnuaire(String champ, String login) in e:\Projet\ldap.cs:27
_Default.Page_Load(Object sender, EventArgs e) in e:\Projet\default.aspx.cs:16
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436

1 réponse

cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
6 févr. 2008 à 13:42
Je ne sais pas pour LDAP v3 mais je sais que pour se connecter à un OpenLDAP les classes standards ne fonctionnent pas,
Essaie avec la librairie opensource fournie par NOVELL (en tout cas pour OpenLdap elle marche niquel)...
0
Rejoignez-nous