我的应用程序使用LDAP身份验证登录时使用LDAP URL。一切都很好,直到我们的SA告诉我们将URL更改为LDAPS。一旦我将URL添加为LDAPS,它就会引发异常并且不允许用户登录。请帮助我。
Working LDAP URL: LDAP://reg1.abc.com
LDAPS URL (NEW) : LDAPS://reg1.abc.com (Not working once changed)
以下是通过LDAP验证用户的代码。
public static SearchResult AuthenticateUser(string userName, string password)
{
var directoryEntry = new DirectoryEntry(ConfigurationManager.AppSettings["ActiveDirectoryPath"], userName, password, AuthenticationTypes.Secure);
var directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.Filter = "(samaccountname=" + userName + ")";
var result = directorySearcher.FindOne();
return result;
}
答案 0 :(得分:1)
这是一个可能已在Unknown Error (0x80005000) with LDAPS Connection得到解答的常见问题。按照该链接尝试添加端口636和自定义证书验证:
LdapConnection con = new LdapConnection(new LdapDirectoryIdentifier("server", port));
con.SessionOptions.SecureSocketLayer = true;
con.SessionOptions.VerifyServerCertificate = new VerifyServerCertificateCallback(ServerCallback);
con.Credential = new NetworkCredential(String.Empty, String.Empty);
con.AuthType = AuthType.Basic;
con.Bind();
在给定示例中,Credential使用空字符串,如果需要,可能需要通过真实登录/密码进行更改。