我在为 LDAP 查询编写过滤器时遇到问题。
我有两个对象类——Person 和 Service。数据库由许多人组成,每个人都有零个或多个子服务。每个人都有一个标识符 personNumber 属性。我想选择几个人和他们给定人员编号的所有服务。是否可以在一个查询中执行此操作?
例如,如果我们有以下一组对象:
personNumber=1,ou=root,o=org
serviceNumber=1,personNumber=1,ou=root,o=org
serviceNumber=2,personNumber=1,ou=root,o=org
personNumber=2,ou=root,o=org
serviceNumber=3,personNumber=2,ou=root,o=org
personNumber=3,ou=root,o=org
serviceNumber=4,personNumber=3,ou=root,o=org
,是否有可能,给定人号 1 和 2,检索这些对象:
personNumber=1,ou=root,o=org
serviceNumber=1,personNumber=1,ou=root,o=org
serviceNumber=2,personNumber=1,ou=root,o=org
personNumber=2,ou=root,o=org
serviceNumber=3,personNumber=2,ou=root,o=org
但不是这些:
personNumber=3,ou=root,o=org
serviceNumber=4,personNumber=3,ou=root,o=org
,只使用一个查询?这是一个例子;可以加载两个以上的标识符。它们不是先验已知的。
IN (..)
另外,除了生成大(|(a=..)(a=..)(a=..)..)
过滤器之外,有没有办法指定属性值应该在一些值集合中,比如SQL 中的子句?