【问题标题】:LDAP bind error codes using ADSI in C#在 C# 中使用 ADSI 进行 LDAP 绑定错误代码
【发布时间】:2010-05-05 15:28:41
【问题描述】:

我正在使用 ADSI 提供程序从 C# 客户端绑定到 ADAM 实例。当绑定失败时,我会返回一个表明失败的通用错误条件。如果我查看流量的网络跟踪,我可以看到 ADAM 实例本身将扩展错误信息发送回我的客户端,指示此身份验证失败的原因,但似乎 ADSI 提供程序丢弃了此扩展信息,只是向我提供了事实绑定失败。

例如,在失败的绑定中,会抛出一个带有 ErrorCode 属性的 COMException,该属性将始终包含值 8007052E。如果我查看网络跟踪,LDAP 发回失败的原因有多种,其中可能包括密码过期、帐户禁用、密码无效、用户不存在等错误。

有什么方法可以使用 ADSI 或 COMException 对象来获取此扩展错误信息?如果没有,是否有人使用过的其他 .NET 提供程序能够获取此信息?

【问题讨论】:

    标签: .net binding ldap adam


    【解决方案1】:

    由于我没有任何答案,我会用我的解决方法自己回答。

    我没有尝试依赖特定的返回代码并为 LDAP 调用返回数据,而是设置了一个服务帐户,如果绑定失败,它可以对帐户进行额外调查。例如,如果 user1 的绑定失败,我与服务帐户绑定,查询 user1 帐户并读取帐户属性以进一步确定绑定失败的原因,然后将该信息返回给最终用户。

    【讨论】:

      猜你喜欢
      • 2011-11-29
      • 1970-01-01
      • 2012-10-08
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      相关资源
      最近更新 更多