目前我们正在做这样的事情:
Attributes attributes = directoryConnection.find(filter, false);
if (attributes == null) {
// then the object does not exist
}
我认为这效率不高,我们不需要检索整个属性(对于组对象,它们可能是几千个......我只想知道该对象是否存在)
有没有更好的方法来检查对象是否存在?我可以使用对象的 cn 或它的整个 dn
最佳答案
要确定“对象”是否存在,您必须搜索该对象。搜索请求至少包含:
- 基础对象
- 范围
- 过滤
- 请求的属性
加上一些其他可选参数,例如大小限制和时间限制等。搜索对象,请求属性 1.1
,搜索响应将指示返回了多少条目。如果返回的条目数为零,则该对象不存在。欲了解更多信息,请参阅"LDAP: ldapsearch"和 "LDAP: Programming Practices" .
关于java - 如何使用 jndi 验证目录(LDAP 或 AD)中是否存在对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8437853/