Comment puis-je trouver tous les rôles d'un utilisateur dans le LDAP à l'aide de la UnboundID SDK LDAP?

Je vais avoir du mal à trouver des rôles à un utilisateur appartient, j'ai essayé le code suivant et il donne beaucoup de attributs, mais ce qui m'intéresse, c'est ce que les rôles de l'utilisateur appartient à une certaine application.

L'utilisateur, je suis à la recherche pour appartient à, les deux groupes suivants (userrole et adminrole). Comment puis-je récupérer cette information?

DN: cn=userrole,ou=rôles,ou=appname,ou=apps,ou=groupes,dc=exemple,dc=pas de

DN: cn=adminrole,ou=rôles,ou=appname,ou=apps,ou=groupes,dc=exemple,dc=pas de

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;
    }
}
Êtes-vous d'obtenir une erreur ou pas de résultats? Les autorisations peut-être?
aussi, regardez ici stackoverflow.com/questions/15051830/...
La réponse dépend de façon critique sur si vous êtes en utilisant des rôles, des groupes de groupes, etc.
Elle dépend aussi de quel serveur LDAP à l'aide de, et quels schémas.

OriginalL'auteur kajafls | 2013-07-29