在循环依赖的情况下使用 1.2.840.113556.1.4.1941 实现是否安全?

Is it safe to use 1.2.840.113556.1.4.1941 implementation in case of cyclic dependencies?

如果 dl 中存在循环依赖(a -> b -> a 情况),使用 1.2.840.113556.1.4.1941 是否正常终止

LDAP_MATCHING_RULE_IN_CHAIN OID 可以很好地处理循环依赖。它不会窒息。

例如,我建议在判断 a user is a member of a group.

时使用这个

考虑一下您是否有此设置:

  • Group A
    • Group B
  • Group B
    • User 1
    • Group A

并且您想知道 User 1 是否是 Group A 的成员。您可以将搜索条件设置为 Group A,并使用此查询:

(member:1.2.840.113556.1.4.1941:=CN=User 1,OU=Users,DC=example,DC=com)

查询会成功(它不会阻塞循环组)并且您会得到 1 个结果 (Group A),表明是的,User 1 是 [=12= 的成员]. (如果没有结果,则表示该用户不是该组的成员)

你不应该在不限制搜索基础或使用其他条件(如匹配特定帐户)的情况下使用 LDAP_MATCHING_RULE_IN_CHAIN 条件,否则你最终会得到 very 低效查询将永远花费 运行 因为它必须查看存在的每个对象的整个成员资格链。