要与列表进行比较的LDAP查询语法

要与列表进行比较的LDAP查询语法,ldap,Ldap,有没有一种方法可以使用类似于SQL中“IN”语句的语法查询LDAP?我的意思是提供一个值列表,而不是一次又一次地重复字段名 让我解释一下:) 我有一个类似的问题: (|(name=joe)(name=bill)(name=mark)(name=john)(name=rob)) 有没有办法缩小此查询以获得如下内容: (name=joe,bill,mark,john,rob) 谢谢不幸的是,没有。ldapsearch过滤器必须符合标准 但是您可以编写自己的包装器(例如调用ldapsearch的s

有没有一种方法可以使用类似于SQL中“IN”语句的语法查询LDAP?我的意思是提供一个值列表,而不是一次又一次地重复字段名

让我解释一下:)

我有一个类似的问题:

(|(name=joe)(name=bill)(name=mark)(name=john)(name=rob))
有没有办法缩小此查询以获得如下内容:

(name=joe,bill,mark,john,rob)

谢谢

不幸的是,没有。ldapsearch过滤器必须符合标准


但是您可以编写自己的包装器(例如调用ldapsearch的shell脚本),将类似列表的语法重写为正确的RFC2254语法:)

此外,我猜您希望该查询使用|而不是&。

否,但是您希望的结果可以通过几种方式实现。一种是以某种方式将条目分组在一起。有理由假设“乔”、“比尔”、“马克”和其他人有共同之处。使用
groupOfUniqueNames
对象类,目录管理员可以将“joe”、“bill”、“mark”和其他对象放在一个组中,以便检索它们

或者,如果“joe”、“bill”、“mark”和其他具有共同属性,则可以使用动态组,其中组的内容由过滤器确定。例如,如果“joe”、“bill”、“mark”和其他人向同一个经理报告,并且经理的条目是
name=matthew,ou=managers,dc=example,dc=com
,“joe”、“bill”、“mark”和其他人可能具有值为
name=matthew,ou=managers,dc=example,dc=com
的属性
managersDn
。目录管理员可以通过使用筛选器创建动态组
managerDn=name=matthew,ou=managers,dc=example,dc=com
。动态组的优点是,每次作为搜索的一部分时,该组都会更新,而不需要手动更新

或者,一些专业质量的目录服务器支持使用虚拟属性,这些虚拟属性会根据某些其他条件为条目生成atribute


只要说一句,假设您搜索的条目以某种方式相关,就可以使用目录服务器分组机制将它们分组在一起。如果它们不相关,则then筛选器必须与您列出的相同,除了使用
|
而不是a
&

谢谢,我刚刚在原始问题中修复了它:)