2012-07-02 44 views
2

我正在使用System.DirectoryServices.Protocols函数来查询目录。如何获得ldap绑定响应

目录正在使用密码策略叠加。

如果我绑定到目录,服务器可能会返回可能包含密码到期警告的控件。

如何获得C#中的绑定响应? System.DirectoryServices.Protocols.Bind返回void

查询用户pwdChangedTime,检索pwdPolicySubentry中指示的策略,用数学来警告用户密码过期似乎并不是一个好的方法。

任何帮助,非常感谢,

回答

2

不幸的是,你不能用绑定操作。 S.DS.P是Winldap32之上的一个薄层,它不能识别绑定操作发回的任何控件。我在去年走了几条路,最后到了使用反射来操纵S.DS.P内部类,并且自己陷入了Winldap32,并且由于Winldap32的局限性而最终不了了之。有一个由Novell编写的ldap库,它是它自己的纯CLR实现。我不确定这些日子保持良好状态。你唯一的选择是在openldap客户端库上编写你自己的.net库。

另外一边。在服务器端应用中使用带有S.DS.P的TLS将导致S.DS.P在特定条件下处理TLS响应时进入无限循环。解决方法是在端口636上使用直连SSL。

+0

;)感谢您的确认 – user1495681

+0

如果我想尝试在Win32中执行此操作,我应该在winldap中使用哪些调用? – gyurisc