java ldap - 获取信息是对 AD 的更改
java ldap - get info is something changes in to AD
我正在用 java spring 做一个项目,我在其中对来自用户或广告组的某些属性的内容进行特定搜索。我还为特定属性写了一些文本输入。
现在我想走得更远..
我的想法是对特定的 AD 用户组进行公开搜索。当这个组中的某个用户的属性或其他内容发生变化时,AD 必须向我的 java 程序发送消息或告诉我 "attention user x has changed".
如果我知道,我可以重新搜索以查看该用户的属性是否已更改。
我知道每次搜索该 AD 组中用户的时间戳时我都可以解决这个问题。但这不是完美的解决方案。因为那时我必须每次都搜索每个时间戳。如果这个组中有 5000 个用户。我从用户 1 开始,用户 4000 已经更改了是的.. 然后我需要一分钟左右的时间,直到我知道用户 4000 已经更改。
所以我想要一个实时搜索的东西。
你能帮我解决这个问题吗?你能不能给我一个方向,我可以在网上进一步搜索以找到解决方案或其他东西。或者这是不可能的?
非常感谢
Active Directory 没有推送通知功能,所以这是不可能的。您需要定期搜索以找到所需的帐户。
但是,您可以更改条件以仅查找所需的帐户。 whenChanged
属性包含上次更改帐户的日期。您可以查询该组的成员,这些成员最近发生了变化。
例如:
(&(objectClass=User)(whenChanged>=20190108000000.0Z)(memberOf=CN=mygroup,OU=Groups,DC=domain,DC=com))
与 whenChanged
一起使用的日期格式的描述是 here。
memberOf
条件应与组的 distinguishedName
匹配。如果该组中还有其他组,并且您也想找到其中的成员,那么您可以进行递归搜索:
(&(objectClass=User)(whenChanged>=20190108000000.0Z)(memberOf:1.2.840.113556.1.4.1941:=CN=mygroup,OU=Groups,DC=domain,DC=com))
那个疯狂的数字被称为 LDAP_MATCHING_RULE_IN_CHAIN
并被描述为 here。
我正在用 java spring 做一个项目,我在其中对来自用户或广告组的某些属性的内容进行特定搜索。我还为特定属性写了一些文本输入。
现在我想走得更远..
我的想法是对特定的 AD 用户组进行公开搜索。当这个组中的某个用户的属性或其他内容发生变化时,AD 必须向我的 java 程序发送消息或告诉我 "attention user x has changed".
如果我知道,我可以重新搜索以查看该用户的属性是否已更改。
我知道每次搜索该 AD 组中用户的时间戳时我都可以解决这个问题。但这不是完美的解决方案。因为那时我必须每次都搜索每个时间戳。如果这个组中有 5000 个用户。我从用户 1 开始,用户 4000 已经更改了是的.. 然后我需要一分钟左右的时间,直到我知道用户 4000 已经更改。
所以我想要一个实时搜索的东西。
你能帮我解决这个问题吗?你能不能给我一个方向,我可以在网上进一步搜索以找到解决方案或其他东西。或者这是不可能的?
非常感谢
Active Directory 没有推送通知功能,所以这是不可能的。您需要定期搜索以找到所需的帐户。
但是,您可以更改条件以仅查找所需的帐户。 whenChanged
属性包含上次更改帐户的日期。您可以查询该组的成员,这些成员最近发生了变化。
例如:
(&(objectClass=User)(whenChanged>=20190108000000.0Z)(memberOf=CN=mygroup,OU=Groups,DC=domain,DC=com))
与 whenChanged
一起使用的日期格式的描述是 here。
memberOf
条件应与组的 distinguishedName
匹配。如果该组中还有其他组,并且您也想找到其中的成员,那么您可以进行递归搜索:
(&(objectClass=User)(whenChanged>=20190108000000.0Z)(memberOf:1.2.840.113556.1.4.1941:=CN=mygroup,OU=Groups,DC=domain,DC=com))
那个疯狂的数字被称为 LDAP_MATCHING_RULE_IN_CHAIN
并被描述为 here。