我是LDAP的新手,并尝试编写查询来验证用户身份.LDAP中的根目录是
dc = home,dc = alpha,dc = com。
dc = home下有很多组和用户。它是一个非常深的树,有多个嵌套
组和用户。我必须使用
DirContext(InitialDirContext).search()
api搜索用户。
我读了规范
public NamingEnumeration<SearchResult> search(String name,String filter,SearchControls cons)
但是我无法找到它是否在指定的根目录内递归查找用户,或者
它只为第一级用户或组搜索。
答案 0 :(得分:2)
使用SearchControls.SUBTREE_SCOPE
递归执行此操作,或ONELEVEL_SCOPE
使用该级别。
ctx = getContext();
SearchControls constraints = new SearchControls();
constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
result = ctx.search(searchPath, searchFilter, constraints);
答案 1 :(得分:1)
您可以在SearchControls
对象中设置所需的深度行为:当前对象,低一级或整个子树。