我正在尝试使用我在 ADAM 中创建的用户对用户进行身份验证。但是,无论使用什么密码(正确或不正确),我的搜索都会返回一个有效的 DirectoryEntry 对象。我假设如果密码无效,那么搜索将返回一个空对象。我的假设是错误的还是下面的代码有缺陷?
DirectoryEntry de = new DirectoryEntry("LDAP://localhost:389/cn=Groups,cn=XXX,cn=YYY,dc=ZZZ");
DirectorySearcher deSearch = new DirectorySearcher();
deSearch.SearchRoot = de;
deSearch.Filter = "(&(objectClass=user) (cn=" + userId + "))";
SearchResultCollection results = deSearch.FindAll();
if (results.Count > 0)
{
DirectoryEntry d = new DirectoryEntry(results[0].Path, userId, password);
if (d != null)
DoSomething();
}