我正在尝试向LDAP服务器查询有效凭据(用户名和密码)。 问题是尽管凭证本身已在服务器中注册但未经过身份验证。 如果我把旧的ldapPath它工作正常。 代码在我的本地计算机(非IIS)上的visual studio开发服务器上运行。 每当我运行这个我得到“目录服务Com例外。 登录失败:未知的用户名或密码错误。“。
const string ldapPath="LDAP:\\newDomain"; //please note this is just an example
public override bool ValidateUser(string username, string password)
{
DirectoryEntry directoryEntry = new DirectoryEntry(ldapPath, username, password, AuthenticationTypes.ServerBind);
DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry)
{
SearchScope = SearchScope.Subtree,
Filter = "uid="+username
};
try
{
using(HostingEnvironment.Impersonate())
{
SearchResult resultEmployee = directorySearcher.FindOne();
return resultEmployee.Properties["uid"].Count == 1;
}
}
catch (DirectoryServicesCOMException)
{
return false;
}
}