在LDAP中搜索用户

时间:2014-10-16 10:45:52

标签: java search active-directory directory ldap

我是LDAP的新手,并尝试编写查询来验证用户身份.LDAP中的根目录是 dc = home,dc = alpha,dc = com。 dc = home下有很多组和用户。它是一个非常深的树,有多个嵌套 组和用户。我必须使用

DirContext(InitialDirContext).search()


api搜索用户。 我读了规范

public NamingEnumeration<SearchResult> search(String name,String filter,SearchControls cons)


但是我无法找到它是否在指定的根目录内递归查找用户,或者 它只为第一级用户或组搜索。

2 个答案:

答案 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对象中设置所需的深度行为:当前对象,低一级或整个子树。