我正在从LDAP进行查找,我需要根据寻呼机号码进行搜索。我们的寻呼机号码可以包含连字符或空格或括号。我试图在我的寻呼机字段中找出我需要的搜索过滤器,假设我的用户可能知道或者可能不知道LDAP字段中的parens或连字符在哪里。
我正在尝试编写一个与最后五位数匹配的过滤器。
示例(单引号不存储在LDAP中,我在这里使用它们作为分隔符):
'127 13098'
'125 or (44)8-9622'
'126 (12349)'
这些都是LDAP中我们的寻呼机字段中的可能值。
这是我到目前为止所拥有的:
(&(objectCategory = person)(objectclass = user)(sn = *)(givenname = *)(pager = *“+ Pager.Trim()+”))“
这适用于第一个示例,但如果用户只输入数字,则不会得到中间示例。
是否可以编写一个过滤器来查找所有三种情况的五位数组合,或者我是否需要进行多次搜索?
答案 0 :(得分:0)
我不太确定我是否遵循这些值,但是,您可以将OR过滤器组合在一起:
(&(objectCategory=person)(objectClass=user)(|(pager=*127 13098*)(pager=125)(pager=126)...))
除非过滤掉某些特定数据,否则不应该使用sn和givenName过滤器。我确保您的寻呼机属性已编入索引并且在AD中有一个元组索引。