Bonjour,
je cherche à porter une appli Perl en C#.
L'appli Perl effectue une requete LDAP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 my $ldap = ldap_bind($serveur_ldap, $ldap_user, $ldap_passwd); $resultat = ldap_search($ldap, "(&(entityname=$toto)(objectclass=Entity))", $attrs, "NetworkNumber=0,o=nmc", 1);En sniffant le réseau, on voit bien que la requete est bien lancée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DirectoryEntry Ldap = new DirectoryEntry(serveur,user,passwd, AuthenticationTypes.ReadonlyServer); DirectorySearcher searcher = new DirectorySearcher(Ldap); searcher.Filter = "(&(entityname=00108b00)(objectclass=Entity))"; SearchResult result = searcher.FindOne();
En revanche, objectName est étrangement à blancs, le paramètre o=nmc est pré-renseigné (alors que je ne l'ai pas mis dans ma requete C#).
Ici on voit bien que le filtre est bien envoyé :
Enfin, le retour de la requete : nosuchobject :
- Je ne vois pas où renseigner le paramètre "NetworkNumber=0", qui semble-t-il, est la racine Root.
J'ai bien tenté de mettre :
avant le FindOne(); mais alors la requete est erronée et pas envoyée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2searcher.SearchRoot.Path = "NetworkNumber=0,o=nmc";
- que manque-t-il dans mon code pour que cette requete fonctionne ?
Merci d'avance pour votre aide
Partager