0

假设我有一个用户 (User1) 和一个按排名顺序排列的组列表 (Group1, Group2, Group3 ...)。我试图找出使用 LDAP 查询来确定特定用户所属的(有序)列表中第一个组的最有效方法。这些查询将使用“LDAP_MATCHING_RULE_IN_CHAIN”规则,以便服务器也知道在子组中查找匹配项。除了可能使这些查询的处理速度变慢之外,这并没有真正改变,这使得性能变得更加重要。

一种选择是获取用户所属的所有组的列表,然后遍历列表以查找第一个匹配项。这很好用,但我担心 LDAP 服务器会花费所有这些时间来生成一个巨大的组列表,而我们实际上可能只需要列表中的第一项。

另一种选择是进行一系列 LDAP 查询,一次检查用户是否是我们列表中每个组的成员。这似乎效率不高,因为查询的数量可能与列表中的组一样多。

我想做的是进行一个查询,在其中向 LDAP 服务器提供组列表,它会返回用户所属的第一个组,或者至少它告诉我列出的组中的哪个组用户是其中的一员。我不知道这是否真的可能。我当然可以将一组术语组合在一起,以查看用户是否是我列出的任何组的成员,但我不知道是否可以构造一个查询,以便它告诉我哪些术语生成了匹配。

有任何想法吗?这可能吗?谢谢!

4

0 回答 0