У меня возникли проблемы с поиском ролей, к которым принадлежит пользователь, я пробовал следующий код, и он дает много атрибутов, но меня интересует, к каким ролям принадлежит пользователь в определенном приложении.
Пользователь, которого я ищу, принадлежит к следующим двум группам (роль пользователя и роль администратора). Как восстановить эту информацию?
DN: cn=userrole,ou=roles,ou=appname,ou=apps,ou=groups,dc=example,dc=no
DN: cn=adminrole,ou=roles,ou=имя приложения,ou=приложения,ou=группы,dc=пример,dc=нет
private final String host = "host.example.com";
private final int port = 389;
private final String bindDn = "uid=appname,ou=systems,dc=example,dc=no";
private final String password = "password";
private final String searchDn = "dc=example,dc=no";
public SearchResultEntry getUserDetails(String username) {
try {
final LDAPConnection connection = new LDAPConnection(host, port,
bindDn, password);
SearchResult searchResults;
searchResults = connection.search(searchDn, SearchScope.SUB,
"(uid=" + username + ")", "+");
if (searchResults.getEntryCount() == 1) {
SearchResultEntry entry = searchResults.getSearchEntries().get(
0);
connection.close();
return entry;
} else {
LOGGER.error("NOT FOUND!");
connection.close();
return null;
}
} catch (LDAPException e) {
LOGGER.error("Exception");
return null;
}
}