Как правильно использовать LDAPPersister - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь использовать метод getAll () из LDAPPersister для доступа к объектам из указанной организационной единицы активного каталога.

Я нашел только один код пример .

А вот мой код:

LDAPPersister ldapPersister = LDAPPersister.getInstance(Group.class);
String dn = "ou=Groups,ou=ou2,ou=ou1,dc=dc2,dc=dc1";
SearchResult searchResult = ldapPersister.getAll(ldapConn, dn, groupsObjectSearchListener);
private ObjectSearchListener<Group> groupsObjectSearchListener = new ObjectSearchListener<Group>() {
        @Override
        public void objectReturned(Group group) {
            log.info("objectReturned");
            groups.add(group);
        }

        @Override
        public void unparsableEntryReturned(SearchResultEntry searchResultEntry, LDAPPersistException e) {
            log.info("unparsableEntryReturned");
        }

        @Override
        public void searchReferenceReturned(SearchResultReference searchResultReference) {
            log.info("unparsableEntryReturned");
        }
    };

Групповой класс генерируется из схема .

Результат (нет журналов от предоставленного слушателя):

LDAPException(resultCode=1 (operations error), diagnosticMessage='00002120: SvcErr: DSID-0312044F, problem 5012 (DIR_ERROR), data 592060
 ', ldapSDKVersion=4.0.9, revision=29290')

Я также попробовал другой способ получить объекты группы:

String dn = "ou=Groups,ou=ou2,ou=ou1,dc=dc2,dc=dc1";
Filter filter = Filter.create("(objectClass=Group)");
SearchRequest searchRequest = new SearchRequest(dn, SearchScope.ONE, filter);
SearchResult searchResult = ldapConn.search(searchRequest);
LDAPPersister ldapPersister = LDAPPersister.getInstance(Group.class);
Group group = (Group) ldapPersister.decode(searchResult.getSearchEntries().get(0));

Ион дает ожидаемые результаты (4 группы) без ошибок - поэтому я думаю, что dn и connection должны быть в порядке.

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

...