我正在尝试使用受保护的LDAP查询来验证用户。我的代码在调用
SearchResult result = search.FindOne;完整代码:
public bool IsValidUser(object username)
{
isValidUser = false;
try
{
DirectoryEntry AD = new DirectoryEntry("LDAP://office:636/", "myaccount", "mypassword");
AD.AuthenticationType = AuthenticationTypes.SecureSocketsLayer;
DirectorySearcher search = new DirectorySearcher(AD);
search.SearchRoot = AD;
search.SearchScope = SearchScope.Subtree;
if (username == DBNull.Value == false & username != "")
{
search.Filter = "(&(objectClass=user) (sAMAccountName=" + username + "))";
SearchResult result = search.FindOne();
if ((result == null))
isValidUser = false;
else
isValidUser = true;
}
else
isValidUser = false;
}
catch (Exception ex)
{
// log(ex);
}
return isValidUser;
}如果我不提供端口号636,它将正常工作,但我不认为LDAP是在安全网络下完成的。
发布于 2020-05-07 12:52:37
也许它可以帮助某人(或未来的我)-域控制器有时可能会损坏,如果是这样的话,它会导致无法使用安全端口636,尝试更改为非安全端口389,看看是不是这种情况。
https://stackoverflow.com/questions/50453482
复制相似问题