Je dois valider l'utilisateur LDAP en vérifiant s'il existe un tel nom d'utilisateur dans le domaine spécifié. Pour cela, j'utilise ce code -
DirectoryEntry entry = new DirectoryEntry("LDAP://" + strDomainController);
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = "SAMAccountName=" + strUserName;
SearchResult result = searcher.FindOne();
return (result != null) ? true : false;
Il s'agit d'une méthode dans une bibliothèque de classes que j'avais l'intention de référencer et d'utiliser partout où j'ai besoin de cette fonctionnalité dans mon projet.
Pour tester cela, j'ai créé une application de test simple. Le test se déroule comme suit
Console.WriteLine(MyClassLib.MyValidateUserMethod("UserName", "Domain",ref strError).ToString());
Le problème auquel je suis confronté est que cela fonctionne bien lorsque je le teste avec ma testapp, mais dans mon projet, lorsque j'essaie d'utiliser la même méthode avec les mêmes informations d'identification, le message suivant s'affiche DirectoryEntry
lance un "System.DirectoryServices.DirectoryServicesCOMException"
et l'exception search.Filter
échoue et lance ex = {"Logon failure : unknown user name or bad password. \r\n "} exception.
J'ai essayé l'usurpation d'identité mais cela ne m'aide pas. D'une manière ou d'une autre, la même méthode fonctionne bien dans mytestapp et ne fonctionne pas dans mon projet. Ces deux applications sont dans ma machine de développement locale. Que me manque-t-il ? Avez-vous des idées ?