3

我正在使用这些System.DirectoryServices.Protocols函数来查询目录。

目录正在使用密码策略覆盖。

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

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

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

任何帮助深表感谢,

4

1 回答 1

2

不幸的是,您不能使用绑定操作来做到这一点。S.DS.P 是 Winldap32 之上的一个薄层,它不识别在绑定操作上发回的任何控件。去年我走了几条路,开始使用反射来操作 SDSP 内部类并自己调用 Winldap32,最终由于 Winldap32 的限制而失败。有一个由 Novell 编写的 ldap 库,它是它自己的纯 CLR 实现。我不确定这些天它是否维护得很好。您唯一的其他选择是在 openldap 客户端库之上编写您自己的 .net 库。

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

于 2012-07-02T14:44:35.550 回答