Java LDAP - Déterminer si l'utilisateur dans un groupe donné?

Nous avons d'ouverture de session des utilisateurs d'Active Directory via LDAP en utilisant le Java API LDAP. Nous voulons améliorer notre ouverture de session de la fonctionnalité en outre vérifier si l'utilisateur est dans un groupe d'ANNONCES. Personne ne sait comment faire cela?

Code actuel:

import javax.naming.*;
import javax.naming.ldap.*;

LdapContext ctx = null;
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION,"simple");
env.put(Context.PROVIDER_URL, Config.get("ldap-url"));

try {
    Control[] connCtls = new Control[] {new FastBindConnectionControl()};
    ctx = new InitialLdapContext(env, connCtls);
    ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, "DOMAIN\\" + username);
    ctx.addToEnvironment(Context.SECURITY_CREDENTIALS, password);
    ctx.reconnect(connCtls);
    /* TODO: Only return true if user is in group "ABC" */
    return true; //User authenticated
} catch (Exception e) {
    return false; //User could NOT be authenticated
} finally {
    ...
}

Mise à jour: Voir la solution ci-dessous.

InformationsquelleAutor Marcus Leon | 2009-02-20