ldap在springboot中获取所有组

ccrfmcuu  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(258)

我需要获取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();

我可以得到memberof中的组。但我需要独立于成员的所有组。我需要ldap中的所有组

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题