2

我已经看到几个软件包作为服务在活动目录控制器上运行,它捕获用户发起的密码更改。我的应用程序需要知道新更改的密码是什么,以便用户在其他系统中传播。有谁知道这是怎么做到的?谢谢。

顺便说一句,我用 C# 编写,但欢迎使用其他 .net 语言。

4

1 回答 1

2

您需要在 Active Directory 服务器上创建密码过滤器,特别是PasswordChangeNotify 回调。不幸的是,要使用它,您必须制作一个真正不应该用.NET † 编写的 COM 服务器 DLL †</sup>。

但是,还有第二个选项。我过去使用过一个开源密码过滤器,它运行良好,称为Password Hook。该密码过滤器将启动第二个程序(如注册表中定义的那样)并将密码信息作为命令行参数传递(如您的 .NET 程序以更新密码更改的其他服务)。


†:我在 SO 上看到了一篇很好的帖子,内容是一年前我在查看密码内容时为什么不应该在 Windows 组件中使用 .NET,但我再也找不到它了。如果其他人可以找到它,请随时在链接中编辑

于 2013-03-23T08:24:10.497 回答