LDAP 搜索有一些内置规则,其中之一是LDAP_MATCHING_RULE_IN_CHAIN
.
From MSDN https://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx:
1.2.840.113556.1.4.1941 LDAP_MATCHING_RULE_IN_CHAIN 此规则仅限于应用于 DN 的过滤器。这是一个特殊的“扩展”匹配运算符,它沿着对象中的祖先链一直走到根,直到找到匹配项。
他们继续说明它是如何用于递归搜索的,而不是来回到服务器:
LDAP_MATCHING_RULE_IN_CHAIN 是一个匹配规则 OID,旨在提供一种查找对象祖先的方法。 ...以前,应用程序执行传递组扩展来确定组成员资格,这使用了太多的网络带宽;如果链接遍历到末端,应用程序需要进行多次往返才能确定对象是否落在“链中”。
他们还表示它有两个明显的用例:
- 检查用户“user1”是否是组“group1”的成员
- 查找“user1”所属的所有组
话虽如此,many https://web.archive.org/web/20170607042532/https://dunnry.com/blog/TransitiveLinkValueFilterEvaluation.aspx people https://stackoverflow.com/questions/6143665/single-line-ldap-query-that-enumerates-users-from-a-group-within-a-supergroup have https://social.technet.microsoft.com/Forums/scriptcenter/en-US/f238d2b0-a1d7-48e8-8a60-542e7ccfa2e8/recursive-retrieval-of-all-ad-group-memberships-of-a-user?forum=ITCG found https://stackoverflow.com/questions/9534669/improving-recursive-active-directory-function在实践中,使用LDAP_MATCHING_RULE_IN_CHAIN
比简单地进行递归“member-of”搜索要慢得多(在我们的例子中,是 10 倍)LDAP_MATCHING_RULE_IN_CHAIN
本来是打算替换的。
So, why is the LDAP_MATCHING_RULE_IN_CHAIN
接近速度较慢?我们错过了什么吗?是否存在我们未涵盖的边缘情况?世界上有没有理由使用LDAP_MATCHING_RULE_IN_CHAIN
,如果速度过慢,为什么不修复呢?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)