Как получить всех пользователей от конкретного ou в активном каталоге, используя Java? - PullRequest
0 голосов
/ 24 декабря 2018

Вот метод, который я использовал для получения, но ничего не заполняется.

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);
    }

1 Ответ

0 голосов
/ 24 декабря 2018

Ваш фильтр недействителен, поэтому не возвращает данных.В

ctx.search(domain, searchFilter, searchControls);

домен передается в качестве базового DN для поиска.Если вы хотите ограничить свой поиск пользователями внутри ou = Example, ou = examples_ou из dc = example, dc = com, то вашим базовым DN поиска должно быть «ou = Example, ou = examples_ou, dc = example, dc = com»и searchFilter будет просто "(& (objectClass = person))"

...