我正在开发一个用于重置LDAP用户密码的网站.我无法通过ssl与服务器建立连接.我尝试了各种代码和身份验证类型.
这是在服务器上用于与托管网站的LDAP连接的内容.我还用两个ssl端口测试了它. 636和3269.
0 = ldap_set_option(ld, LDAP_OPT_ENCRYPT, 1)
res = ldap_bind_s(ld, NULL, &NtAuthIdentity?, NEGOTIATE (1158)); v.3
{NtAuthIdentity?: User='_ldapuser'; Pwd='unavailable';; domain = 'SJTPNOC.DOMAIN'}
我在网站上使用以下代码
LdapConnection connection = new LdapConnection(new LdapDirectoryIdentifier("SJTP.DOMAIN",636));
connection.SessionOptions.ProtocolVersion = 3;
connection.AuthType = AuthType.Basic;
connection.Credential = new NetworkCredential("CN=user,CN=Users,DC=SJTPNOC,DC=DOMAIN", "password","CN=Users,DC=SJTPNOC,DC=DOMAIN");
connection.SessionOptions.SecureSocketLayer=true;
connection.Bind();
获取异常“LDAP服务器不可用”.我尝试使用389端口的代码
没有ssl,它工作正常.
请告诉我有什么问题.
解决方法:
如果您只想加密并且不需要对ldap服务器进行强身份验证,那么您可以添加:
connection.SessionOptions.VerifyServerCertificate =
new VerifyServerCertificateCallback((con, cer) => true);