java - 在 LDAP 中搜索用户

标签 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)


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

最佳答案

使用 SearchControls.SUBTREE_SCOPE 递归执行此操作,或使用 ONELEVEL_SCOPE 执行该级别。

    ctx = getContext();
    SearchControls constraints = new SearchControls();
    constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
    result = ctx.search(searchPath, searchFilter, constraints);

关于java - 在 LDAP 中搜索用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26402438/

相关文章:

java - 带有非标准(中文)字符的 showDocument()

java - 在java中的文本文件上创建一个简单的索引

active-directory - 查询列出某个组的所有用户

c# - 与Active Directory更改密码相关的处理错误问题

c# - LDAPS 连接出现未知错误 (0x80005000)

java - 无法正确添加到ArrayList

java - 如何操作 GET 响应中的信息

java - 将 Epinions 数据集与 Moletrust 推荐系统结合使用

java - 过滤自定义对象列表,搜索后原始列表消失

mysql - 如何在 MySQL 中替换包含反斜杠的字符串