gpt4 book ai didi

java - 使用 Java 读取 LDAP

转载 作者:搜寻专家 更新时间:2023-11-01 02:55:08 24 4
gpt4 key购买 nike

我需要一种有效的方法来从 LDAP 中读取所有用户。我在 Java 中有一个 super /root 密码

我只需要列出名称即可。

感谢所有想法。

最佳答案

您可以找到一个不错的代码示例 here :

Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:389/dc=fraglab,dc=net");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=admin,dc=fraglab,dc=net");
env.put(Context.SECURITY_CREDENTIALS, "yannis");
DirContext ctx = new InitialDirContext(env);
SearchControls searchControls = new SearchControls();
searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
searchControls.setCountLimit(10);
NamingEnumeration<SearchResult> namingEnumeration =
ctx.search("", "(uid=*)", new Object[]{}, searchControls);
while (namingEnumeration.hasMore()) {
SearchResult sr = namingEnumeration.next();
System.out.println("DN: " + sr.getName());
System.out.println(sr.getAttributes().get("uid"));
System.out.println("Password:" + new String((byte[]) sr.getAttributes().get("userPassword").get()));
}
ctx.close();

它使用 LDAP 命名服务提供程序Java 命名和目录接口(interface) JNDI ,并且应该做你想做的小改动(例如,至少输入你的服务器名称)。 documentation for the ldap provider非常好,可以帮助您将其扩展到您的需要。

关于java - 使用 Java 读取 LDAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com