如何在LDAP3中查询uidNumber处于7000-8000区间的条目
LDAP 范围查询实现方案
核心问题解答
LDAP 原生支持范围搜索功能,可通过在查询过滤器中组合>=(大于等于)、<=(小于等于)匹配规则,搭配逻辑与运算符实现数值区间的筛选。
你需要的7000-8000区间查询,只需要在原有过滤条件中补充uidNumber的上限规则即可。
修改后的查询代码
conn.search('o=csun', '(&(objectclass=person)(uidNumber>=7000)(uidNumber<=8000))', attributes=['uidNumber'])
注意事项
- LDAP 过滤器的逻辑与
&要求所有括号内的条件同时生效,上述代码会同时匹配对象类为person、uidNumber大于等于7000、uidNumber小于等于8000的所有条目,完全符合你的查询需求 - 注意属性名大小写要和你的LDAP服务端schema定义保持一致,部分LDAP服务对
uidNumber的大小写敏感 - 如果查询结果为空,可以先临时移除
objectclass=person条件测试,确认区间筛选逻辑正常后再叠加其他过滤条件
内容的提问来源于stack exchange,提问作者Robin Malhotra
相关产品推荐
相关产品推荐

