关于LDAP搜索查询

关于LDAP搜索查询,ldap,ldap-query,Ldap,Ldap Query,让我们假设我想搜索一个数字,比如说123,LDAP有123 35;或1-2-3之类的条目。需要提供的LDAP搜索筛选器应该是什么?我尝试了*123*,但在1-2-3的情况下,LDAP没有“像123#这样的条目”,它有由包含属性的可分辨名称标识的条目。要搜索包含值的条目,必须为搜索请求提供以下参数: 基本对象(应开始搜索的可分辨名称) 范围-基础、从属于基础的一级或子树(从属于基础对象的所有条目 filter—必须计算为true才能将条目返回到客户端的断言 要返回的属性-LDAP客户端需要的属性

让我们假设我想搜索一个数字,比如说
123
,LDAP有
123 35;
1-2-3
之类的条目。需要提供的LDAP搜索筛选器应该是什么?我尝试了
*123*
,但在
1-2-3

的情况下,LDAP没有“像123#这样的条目”,它有由包含属性的可分辨名称标识的条目。要搜索包含值的条目,必须为搜索请求提供以下参数:

  • 基本对象(应开始搜索的可分辨名称)
  • 范围-基础、从属于基础的一级或子树(从属于基础对象的所有条目
  • filter—必须计算为true才能将条目返回到客户端的断言
  • 要返回的属性-LDAP客户端需要的属性列表
如果所讨论的属性名为
number
,语法为Integer,匹配规则为IntegerMatch,则过滤器
(number=123)
将找到一个名为
number
的属性,该属性的整数值为
123
。要使用哪个筛选器取决于属性类型定义中的语法和匹配规则,因为目录服务器根据提供的具有匹配规则的筛选器执行匹配属性值的任务(顺便说一句,应用程序必须如此)程序员不能认为LDAP属性值是“字符串”,相反,他们必须理解属性语法和匹配规则。有一个<代码> DetryyString 语法(具有非常明确的定义,尽管出于许多目的,它可以被视为一个花园的多样性字符串)。但并非所有属性都是用
DirectoryString
语法定义的。也不是所有属性都使用相同的匹配规则和排序规则

另见
LDAP没有“像123#这样的条目”,它有由包含属性的可分辨名称标识的条目。要搜索包含值的条目,必须为搜索请求提供以下参数:

  • 基本对象(应开始搜索的可分辨名称)
  • 范围-基础、从属于基础的一级或子树(从属于基础对象的所有条目
  • filter—必须计算为true才能将条目返回到客户端的断言
  • 要返回的属性-LDAP客户端需要的属性列表
如果所讨论的属性名为
number
,语法为Integer,匹配规则为IntegerMatch,则过滤器
(number=123)
将找到一个名为
number
的属性,该属性的整数值为
123
。要使用哪个筛选器取决于属性类型定义中的语法和匹配规则,因为目录服务器根据提供的具有匹配规则的筛选器执行匹配属性值的任务(顺便说一句,应用程序必须如此)程序员不能认为LDAP属性值是“字符串”,相反,他们必须理解属性语法和匹配规则。有一个<代码> DetryyString 语法(具有非常明确的定义,尽管出于许多目的,它可以被视为一个花园的多样性字符串)。但并非所有属性都是用
DirectoryString
语法定义的。也不是所有属性都使用相同的匹配规则和排序规则

另见

我的要求非常简单。输入字符串是动态的。假设123是输入字符串,DB有10203、19293、1-2-3、123。然后搜索应该只返回1-2-3和123。因为它包含1-2-3,我认为整数匹配不是解决这个问题的方法!这里唯一固定的是,输入总是数字,DB会也只包含数字。我尝试使用近似值(id~=123),但它返回数据库中的所有4个条目。也许我需要添加一个额外的筛选器,并使用&进一步筛选。有什么想法吗?如果属性具有DirectoryString语法,您可以尝试子字符串筛选器断言,例如(|(attributename=*123)(attributename=*1-2-3*)我的要求很简单。输入字符串是动态的。假设123是输入字符串,DB有10203、19293、1-2-3、123。然后搜索应该只返回1-2-3和123。因为它包含1-2-3,我不认为整数匹配是解决这个问题的方法!这里唯一固定的一点是,输入总是数字,DB也会仅包含数字。我尝试使用近似值(id~=123),但它返回数据库中的所有4个条目。也许我需要向它添加一个额外的筛选器,并进一步筛选它。有什么想法吗?如果您的属性具有DirectoryString语法,您可以尝试使用子字符串筛选器断言,例如(|(attributename=*123)(attributename=*1-2-3*))