在LDAP(Lightweight Directory Access Protocol)中,搜索操作是最常用的操作之一。搜索操作通常是使用SearchRequest对象发送给LDAP服务器,其中包含要搜索的基础DN(Distinguished Name)和搜索过滤器。
搜索过滤器中可以指定搜索的范围,这是由Scope属性控制的。Scope属性指定了搜索将要进行的对象的级别,有以下四种常用的值:
- OBJECT: 该Scope只搜索指定DN的对象本身,不搜索子对象。
- ONELEVEL: 该Scope搜索指定DN下的一级子对象,不包括子对象的子对象。
- SUBTREE: 该Scope搜索指定DN下的所有子孙对象,包括子对象的子对象。
- SUBORDINATE: 该Scope只搜索指定DN下的直接子对象,不包括指定DN自身和指定DN的孙子对象。
这些Scope属性的具体含义如下:
-
OBJECT:仅仅匹配搜索基础DN指定的对象,不搜索任何子对象。
-
ONELEVEL:搜索基础DN指定的对象的直接子对象,但不包括这些子对象的孙子对象。
-
SUBTREE:搜索基础DN指定的对象及其所有子对象,包括子对象的子对象。
-
SUBORDINATE:仅搜索基础DN指定的对象的直接子对象,不包括这些子对象的孙子对象,相当于SCOPE为ONELEVEL和OBJECT的并集。
在使用LDAP搜索操作时,正确选择Scope属性非常重要,它决定了搜索的深度和搜索结果的数量。因此,在使用LDAP搜索操作时,需要根据实际情况选择Scope属性。