我正在尝试连接到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。
提前致谢
答案 0 :(得分:1)
略读API,我认为它只是
connection.SecureSocketLayer = true;
在致电SessionOptions
之前,没有Connect
。
如果你只想保护Bind
,你可以事先调用connection.startTLS()
然后再调用stopTLS()
(请参阅下载中的Samples \ StartTLS.cs),但听起来像如果您使用的是端口636,则需要完整的ldaps。