Recuperar os grupos de usuários no Active Directory dado um usuário autenticado

Pessoal, estou com o seguinte elefante branco…

Consegui autenticar um usuário no AD e recuperar os grupos de usuários. Porém estou recuperando TODOS os grupos, mas na verdade eu gostaria de listar apenas os grupos que na qual esse usuário autenticado tem acesso.
Será que alguem poderia me ajudar a fazer esse filtro?
Por favor…

Abaixo meu código de busca…(Linha 7)

            LDAPConnection conn = new LDAPConnection();
            try {
                conn.connect(ldapHost, ldapPort);
                conn.bind(ldapVersion, usuario, senha.getBytes());
                System.out.println("Autenticado!");   
         
                LDAPSearchResults searchResults = conn.search("ou=Matriz,ou=Usuarios,ou=Microquimica,dc=microquimica,dc=int", LDAPConnection.SCOPE_ONE, "(objectclass=group)", null, false);
                
                while (searchResults.hasMore()) {   
                    System.out.println("Passou");
                    LDAPEntry nextEntry = null;   
                    try {   
                        nextEntry = searchResults.next();   
                    } catch(LDAPException e) {   
                        System.out.println("Error: " + e.toString());   
                        if (e.getResultCode() == LDAPException.LDAP_TIMEOUT || e.getResultCode() == LDAPException.CONNECT_ERROR)   
                            break;   
                        else   
                            continue;   
                    }   
                    String dn = nextEntry.getDN();
                    request.getSession().setAttribute("dn", dn);
                    request.getSession().setAttribute("usuario", usuario);
                    System.out.println("DN -> "+nextEntry.getDN());             
                }
                conn.disconnect();

Agradeço a ajuda.

Sera que há alguma alma viva aqui que já trabalhou com AD e LDAP??
Me ajudaria se alguem manjasse alguma query do LDAP pra que eu possa buscar todos os grupos de um usuario. Por exemplo, eu to conseguindo me autenticar e listar todos os grupos de usuários pertencentes ao AD, mas gostaria de filtrar apenas os grupos que na qual eu tenho autorização entende?

Ontem postei esse código acima para se alguém podesse me ajudar, mas ai eu estava utilizando a API JLDAP, porém desisti de usa-la
e alterei pois acredito que seja mais fácil realizar essa busca dessa maneira:

        if(("logar").equals(request.getParameter("act"))){
            
            String usuario = request.getParameter("usuario");
            String senha = request.getParameter("senha");            
            
            Hashtable env = new Hashtable(11);   
            env.put(Context.SECURITY_AUTHENTICATION,"simple");   
            env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");   
            env.put(Context.PROVIDER_URL, "ldap://00.0.0.0:389");   
            env.put(Context.SECURITY_PRINCIPAL, usuario+"@microquimica.int"); 
            env.put(Context.SECURITY_CREDENTIALS, senha);           
            try {
                // Cria o Initial Context   
                long init = System.currentTimeMillis();   
                DirContext ctx = new InitialDirContext(env); //Se passou deste ponto sem exeção, é porque autenticou   

                long fim = System.currentTimeMillis();   
                System.out.println("Autenticou normalmente: " + ((fim - init) / 1000) + " segundos");  
                
                String entryDN = "dc=microquimica,dc=int"; 
                String uniqueMember=usuario+"ou=Matriz,ou=Usuários,ou=Microquimica,dc=microquimica,dc=int"; 
                NamingEnumeration results = null;   
                SearchControls search = new SearchControls();   
                search.setSearchScope(SearchControls.SUBTREE_SCOPE);   
                results = ctx.search(entryDN, "(&(objectClass=group))(cn="+uniqueMember+")", search); 
                while (results.hasMore()) {   
                        SearchResult searchResult = (SearchResult) results.next();   
                        Attributes attributes = searchResult.getAttributes();   
                        Attribute attr = attributes.get("cn"); //Recuperando o CommonName do grupo   
                        System.out.println(attr.get());   
                }                   

                ctx.close();

Obrigado.