以下是Java代码示例:

import javax.naming.*;
import javax.naming.directory.*;

public class LDAPSearch {
    public static void main(String[] args) {
        try {
            // Set up the environment for creating the initial context
            Hashtable<String, String> env = new Hashtable<String, String>();
            env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.PROVIDER_URL, "ldap://your.ldap.server:port/");
            env.put(Context.SECURITY_AUTHENTICATION, "simple");
            env.put(Context.SECURITY_PRINCIPAL, "cn=Username,ou=Users,dc=example,dc=com");
            env.put(Context.SECURITY_CREDENTIALS, "password");

            // Create the initial context
            DirContext ctx = new InitialDirContext(env);

            // Perform the LDAP search
            String base = "cn=subschema";
            String filter = "(objectclass=*)";
            SearchControls controls = new SearchControls();
            controls.setSearchScope(SearchControls.BASE_SCOPE);
            controls.setReturningAttributes(new String[] {"objectclasses"});
            NamingEnumeration<SearchResult> results = ctx.search(base, filter, controls);

            // Iterate through the search results
            while (results.hasMore()) {
                SearchResult searchResult = results.next();
                Attributes attrs = searchResult.getAttributes();
                Attribute objectClasses = attrs.get("objectclasses");
                System.out.println(objectClasses);
            }

            // Close the context
            ctx.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

请注意,您需要替换以下值:

  • your.ldap.server - 您的LDAP服务器的主机名或IP地址
  • port - 您的LDAP服务器的端口号
  • cn=Username,ou=Users,dc=example,dc=com - 您的LDAP认证用户名和密码
  • password - 您的LDAP认证密码

另外,您需要导入以下类:

  • javax.naming.Context
  • javax.naming.directory.DirContext
  • javax.naming.directory.InitialDirContext
  • javax.naming.directory.SearchControls
  • javax.naming.directory.SearchResult
  • javax.naming.NamingEnumeration
  • javax.naming.NamingException
  • java.util.Hashtable
ldapsearch -H -x -s base -b cn=subschema objectclasses 请帮我转成java

原文地址: https://www.cveoy.top/t/topic/bZMW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录