【问题标题】:How to get all users from specific ou in active directory using java?java - 如何使用java从活动目录中的特定ou获取所有用户?
【发布时间】:2018-12-24 04:36:09
【问题描述】:

这是我用来获取但没有填充任何内容的方法。

public void doSearch() throws NamingException {
        String searchFilter = "(&(ou=Example,ou=Examples_ou)(objectClass=person))";
        String domain = "DC=mydom,DC=com";
        SearchControls searchControls = new SearchControls();
        searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
        NamingEnumeration<SearchResult> answer = ctx.search(domain, searchFilter, searchControls);
        int ttl = 0;
        while (answer.hasMoreElements()) {
            SearchResult sr = (SearchResult) answer.next();
            ttl++;
            System.out.println(">>>" + sr.getName());
            Attributes attrs = sr.getAttributes();
            System.out.println(">>>>>>" + attrs.get("samAccountName"));
        }
        System.out.println("Total results: " + ttl);
    }

【问题讨论】:

    标签: java ldap ou


    【解决方案1】:

    您的过滤器无效,因此不返回任何数据。在

    ctx.search(domain, searchFilter, searchControls);
    

    domain 作为搜索的基本 DN 传递。如果要将搜索限制在 ou=Example,ou=Examples_ou 的 dc=example,dc=com 内的用户,那么您的搜索基础 DN 应为“ou=Example,ou=Examples_ou,dc=example,dc=com”并且 searchFilter 将是简单的 "(&(objectClass=person))"

    【讨论】:

    • 非常感谢 LisaJ!
    猜你喜欢
    • 2019-04-10
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多