ldapsearch -H -x -s base -b cn=subschema objectclasses 请帮我转成java
以下是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.Contextjavax.naming.directory.DirContextjavax.naming.directory.InitialDirContextjavax.naming.directory.SearchControlsjavax.naming.directory.SearchResultjavax.naming.NamingEnumerationjavax.naming.NamingExceptionjava.util.Hashtable
原文地址: https://www.cveoy.top/t/topic/bZMW 著作权归作者所有。请勿转载和采集!