如何使用SSL连接LDAP

时间:2014-10-23 16:14:02

标签: c# .net asp.net-mvc ldap

我正在尝试连接到LDAP以验证用户身份。这是我的代码,但我无法使用我的c#代码设置SSL。

using LdapConnection = Novell.Directory.Ldap.LdapConnection;
using LdapException = Novell.Directory.Ldap.LdapException;

 var ldapHost = WebConfigurationManager.AppSettings["LDAP_HOST"];
 var ldapPort = WebConfigurationManager.AppSettings["LDAP_PORT"];

 connection.Connect(ldapHost, Convert.ToInt32(ldapPort));
 sb = new StringBuilder();
 sb.Append(ldapLocation).Append(userName).Append(",").Append(ldapLocationIndia);
 connection.Bind(LdapConnection.Ldap_V3, sb.ToString(), password);

我收到了来自我的应用程序安全团队的消息,我发送的是普通密码,所以我尝试通过尝试设置选项

将安全认证类型设置为安全
connection.SessionOptions.SecureSocketLayer = true;

但我没有在我的连接对象中看到任何Sessionoption,我正在使用novel.ldap dll进行我的LDAP操作。

有人帮我吗?如何通过网络以安全的方式为ldap服务器发送密码进行身份验证。

我正在使用端口636。

提前致谢

1 个答案:

答案 0 :(得分:1)

略读API,我认为它只是

connection.SecureSocketLayer = true;
在致电SessionOptions之前,

没有Connect

如果你只想保护Bind,你可以事先调用connection.startTLS()然后再调用stopTLS()(请参阅下载中的Samples \ StartTLS.cs),但听起来像如果您使用的是端口636,则需要完整的ldaps。