3

我已将 ActiveDirectoryMembershipProvider 的 connectionProtection 属性设置为安全,根据 MSDN 文档的说法,当它设置为保护以下内容时:

“ActiveDirectoryMembershipProvider 类将尝试使用 SSL 连接到 Active Directory。如果 SSL 失败,将再次尝试使用签名和密封连接到 Active Directory。如果两次尝试都失败,ActiveDirectoryMembershipProvider 实例将抛出 ProviderException 异常。 "

代码可以工作并且可以针对 LDAP 进行查询,但是让我有点困惑的一个问题是我的连接字符串以 LDAP 为前缀,而不是 LDAPS。将此更改为 LDAPS 会导致以下错误:“解析器错误消息:已从对 COM 组件的调用中返回错误 HRESULT E_FAIL。”

这里发生了什么?在连接字符串只是 LDAP 的第一个实例中,是否使用了 SSL?该文档表明,如果不是,则应引发异常。如果不是,那么在这种情况下导致此错误的可能原因是什么?

4

2 回答 2

3

据我所知,所有 LDAP DN(专有名称)总是有一个LDAP唯一的前缀 - 无论它们是否通过安全链接。安全方面通常通过正在使用的服务器上的端口显示,389 是非安全的默认值,636 是安全通信的默认值。

但是 LDAP 专有名称的规范实际上没有 LDAPS 前缀。几年前我做了很多 LDAP 工作,我确实记得必须处理不同的端口以进行可信或安全的通信,但我从来没有一个完全限定的 LDAP 路径除了LDAP://前缀(区分大小写) , 也!)。

于 2010-01-19T21:56:30.833 回答
2

LDAP:// 前缀用于清除和 SSL 连接,以检查通信是否确实在 SSL 下尝试此博客条目的第 3 步http://erlend.oftedal.no/blog/?blogid=7

于 2010-07-05T00:47:13.980 回答