Я хочу установить LDAP-соединение для вывода списка всех пользователей из AD. Я успешно выполнил это с информацией, хранящейся в XML
<ldap:context-source
url="ldap://<url>"
base="dc=example,dc=local"
username="<user>@example.local"
password="<pass>" />
Но как я могу установить эту информацию из Java, а не в XML? Пробовал с:
LdapContextSource ctxSrc = new LdapContextSource();
ctxSrc.setUrl("ldap://<url>");
ctxSrc.setBase("dc=example,dc=local");
ctxSrc.setUserDn("<user>@example.local");
ctxSrc.setPassword("<pass>");
LdapTemplate tmpl = new LdapTemplate(ctxSrc);
setLdapTemplate(tmpl);
Но при беге
List users = (List<User>) ldapTemplate.search(LdapUtils.emptyLdapName(), "(&(objectCategory=person)(objectClass=user))", new UserAttributesMapper());
Я получаю NullPointerExeption. Запустив это без настройки свойств из java (т.е. чтения из xml), все работает нормально