Java LDAP在Spring Boot中获取所有组

Java LDAP在Spring Boot中获取所有组,java,spring-boot,ldap,openldap,Java,Spring Boot,Ldap,Openldap,我需要获取LDAP的所有组。我可以使用此查询获取成员中某个用户的所有组: Hashtable<String, String> parameters = new Hashtable<String, String>(); parameters.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); parameters

我需要获取LDAP的所有组。我可以使用此查询获取成员中某个用户的所有组:

        Hashtable<String, String> parameters = new Hashtable<String, String>();
        parameters.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
        parameters.put(Context.PROVIDER_URL, url);
        parameters.put("com.sun.jndi.ldap.connect.timeout", connectTimeout);
        parameters.put("com.sun.jndi.ldap.read.timeout", readTimeout);
        parameters.put(Context.SECURITY_AUTHENTICATION, "simple");
        parameters.put(Context.SECURITY_PRINCIPAL, (username + "@" + domain));
        parameters.put(Context.SECURITY_CREDENTIALS, password);

        DirContext dirContext = new InitialDirContext(parameters);

        SearchControls searchControls = new SearchControls();
        searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
        searchControls.setReturningAttributes(
                new String[] { "distinguishedName", "sn", "givenname", "mail", "cn", "memberOf" });

        NamingEnumeration<?> results = dirContext.search("dc=" + domain.substring(0, domain.indexOf('.')) + ",dc="
                + domain.substring(domain.indexOf('.') + 1), "sAMAccountName=" + username, searchControls);

        dirContext.close();
Hashtable参数=新的Hashtable();
parameters.put(Context.INITIAL\u Context\u工厂,“com.sun.jndi.ldap.LdapCtxFactory”);
parameters.put(Context.PROVIDER\uURL,URL);
parameters.put(“com.sun.jndi.ldap.connect.timeout”,connectTimeout);
parameters.put(“com.sun.jndi.ldap.read.timeout”,readTimeout);
parameters.put(Context.SECURITY_身份验证,“simple”);
parameters.put(Context.SECURITY_PRINCIPAL,(用户名+“@”+域));
参数.put(Context.SECURITY\u凭证、密码);
DirContext DirContext=新的InitialDirContext(参数);
SearchControls SearchControls=新的SearchControls();
searchControls.setSearchScope(searchControls.SUBTREE_范围);
searchControls.SetReturningAttribute(
新字符串[]{“DifferentiedName”、“sn”、“givenname”、“mail”、“cn”、“memberOf”});
NamingEnumeration results=dirContext.search(“dc=“+domain.substring(0,domain.indexOf('.'))+”,dc=”
+domain.substring(domain.indexOf('.')+1),“sAMAccountName=“+username,searchControls”);
dirContext.close();
我可以在memberOf中获取组。但我需要独立于成员的所有组。我需要LDAP中的所有组