【发布时间】:2016-09-01 01:09:19
【问题描述】:
当使用 LDAP 协议在 Active Directory 中发生某些事件时,我需要收到通知。应该触发的事件有:
- 当某个 AD 组与用户关联时。
- 如果 AD 用户中的某个字段(如电话号码)发生了变化。
我搜索了所有互联网,但大多数解决方案都是基于本文末尾的代码:
正如那篇文章中提到的,有 3 种方法可以做到这一点:
- 使用 USNChanged
- 使用 DirSync 控件
- 并在页面末尾使用该代码。
对于前两个选项,我在 Microsoft 的网站上找到了带有示例的文章,但所有示例都是用 C++ 编写的,而我需要在 C# 中使用这个。
我发现的其他代码示例不完整且无法理解,因此我无法适当地使用它们。
我可以使用与所提供文章末尾的代码类似的任何解决方案、代码示例等吗?
再一次,我在 C# 中需要这个
谢谢
【问题讨论】:
-
您有 Microsoft c++ 示例的链接吗?
-
需要LDAP的原因是什么?我认为您也可以尝试 a) 启用 AD DS 审核(并阅读该日志)technet.microsoft.com/en-us/library/… b) 使用第三方工具,如 manageengine.com/products/active-directory-audit c) 如果不需要实时通知,那么您可以安排一个代码检查所需的组/属性并与以前的值进行比较。
-
@smirnov LDAP 只是我们在 AD 上连接、发送数据等方式的一种协议,对吧?我对此不太熟悉,我看到它也以 ldap 服务器等方式提到过。我说这是因为在我的请求状态中:我们可以根据 LDAP 的 .net 连接模型对哪些事件采取行动,以收到此通知?您提供的第三个解决方案可以帮助我,我看到了一些这样的例子,但我不确定它是否可以工作。您是否有一些代码示例可以帮助我实现这个方向?
-
与AD一起工作不一定需要LDAP,有System.DirectoryServices,也可以使用。关于第三种解决方案的示例 - 您将在 AD 中拥有多少用户?如果 a) 没有多少用户/组需要监控(因此您不需要创建当前状态的大快照) b) 您可能无法管理 AD(并且您无法设置例如审核),则此想法可能会很好用。
标签: c# .net active-directory ldap active-directory-group