Java JNDI LDAP的Filter查询 条件查询 通配符

本文详细介绍了LDAP中逻辑运算符与特殊符号的应用,通过具体实例展示了如何使用这些符号进行用户查询与过滤,包括年龄、姓名等属性的条件筛选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------------------------------------------------------------------------------------------------------------------
逻辑运算符:

&   逻辑与
|    逻辑或
!   逻辑非
---------------------------------------------------------------------------------------------------------------------------------
其他符号: 

*   通配符
---------------------------------------------------------------------------------------------------------------------------------
假设目录用户节点ou=user,dc=domain下存储用户:

结构如下:
dc=domain
|-ou=user
   |-cn=zhangsan
   |-cn=lisi
   |-cn=wangwu
   |-cn=zhaoliu
   
用户属性如下(用cn=zhangsan节点来表示):
cn=zhangsan
objectClass=top
objectClass=person
name=张三
sex=男
age=28
pwd=123456
email=zhangsan@163.com
desc=描述
---------------------------------------------------------------------------------------------------------------------------------
实例一:
查询所有name为张三,sex为男的用户:
(&(name=张三)(sex=男))
---------------------------------------------------------------------------------------------------------------------------------
实例二:
查询所有age不为28的用户:
(!(age=28))
---------------------------------------------------------------------------------------------------------------------------------
实例三:
查询所有age为28,并且name不为张三的用户:
(&(age=28)(!(name=张三)))
---------------------------------------------------------------------------------------------------------------------------------
实例四:
查询所有age为28,或者name为张三的用户:
(|(age=28)(name=张三))
---------------------------------------------------------------------------------------------------------------------------------
实例五:
查询所有name的姓为张,或者desc包含描述的用户:
(|(name=张*)(desc=*描述*))
---------------------------------------------------------------------------------------------------------------------------------
实例六:(查询所有属性存在,但值为空):
查询所有有email为空(目录中有属性)的用户:
(email=)
---------------------------------------------------------------------------------------------------------------------------------
实例七:(查询所有属性存在的):
查询所有没有desc属性的用户:
(!(desc=*))
---------------------------------------------------------------------------------------------------------------------------------
实例八:(查询所有属性不存在的):
查询所有有desc属性的用户:
(desc=*)
(!(!(desc=*)))
---------------------------------------------------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古怪今人

您的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值