当前位置:网站首页 > 技术博客 > 正文

ldap服务端口

要通过Java

使用 LDAP

获取

AD

用户和组织信息,需要

使用

Java的JNDI API。

以下是一个简单的Java程序,演示如何

使用

JNDI API连接到

AD

并获取用户和组织信息:

 import java.util.*; import javax.naming.*; import javax.naming.directory.*;  public class AD Info { public static void main(String[] args) { String ldap URL = " ldap :// AD  服务器地址:389"; String ldap User = "CN= LDAP 查询用户,OU=xxx,DC=xxx,DC=xxx"; String ldap Password = " LDAP 查询用户密码"; String searchBase = "OU=xxx,DC=xxx,DC=xxx";  Hashtable<String, String> env = new Hashtable<String, String>(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi. ldap . Ldap CtxFactory"); env.put(Context.PROVIDER_URL, ldap URL); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, ldap User); env.put(Context.SECURITY_CREDENTIALS, ldap Password);  try { DirContext ctx = new InitialDirContext(env);  SearchControls searchControls = new SearchControls(); searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE); String filter = "(objectCategory=user)"; NamingEnumeration<SearchResult> results = ctx.search(searchBase, filter, searchControls); while (results.hasMore()) { SearchResult searchResult = results.next(); Attributes attributes = searchResult.getAttributes(); Attribute attribute = attributes.get("cn"); String cn = (String) attribute.get(); System.out.println(cn); }  filter = "(objectCategory=organizationalUnit)"; results = ctx.search(searchBase, filter, searchControls); while (results.hasMore()) { SearchResult searchResult = results.next(); Attributes attributes = searchResult.getAttributes(); Attribute attribute = attributes.get("ou"); String ou = (String) attribute.get(); System.out.println(ou); }  ctx.close(); } catch (NamingException e) { e.printStackTrace(); } } } 

在上面的代码中,替换以下变量:

-

ldap

URL:

AD

服务器地址和端口号

-

ldap

User:用于查询

AD

LDAP

用户的DN

-

ldap

Password:用于查询

AD

LDAP

用户的密码

- searchBase:要搜索的

AD

的基本DN

该程序连接到

AD

并搜索用户和组织。它

使用

过滤器来限制搜索结果,只搜索用户和组织单位对象。它还

使用

SearchControls对象来设置搜索范围。

对于每个搜索结果,程序从属性中提取cn或ou,并将其打印到

控制

台上。

请注意,此代码需要在Java应用程序中包含JNDI API类路径。如果您

使用

Maven或Gr

ad

le之类的构建工具,则可以将以下依赖项添加到项目中:

 <dependency> <groupId>com.sun.jndi</groupId> <artifactId> ldap </artifactId> <version>1.2.1</version> </dependency> 

  • 上一篇: uboot命令行
  • 下一篇: java最全基础知识
  • 版权声明


    相关文章:

  • uboot命令行2025-04-03 17:30:01
  • scrum三大工件2025-04-03 17:30:01
  • 无锁设计2025-04-03 17:30:01
  • stm32加密后怎么读取2025-04-03 17:30:01
  • net framework 4.0离线安装包2025-04-03 17:30:01
  • java最全基础知识2025-04-03 17:30:01
  • jvm调试工具2025-04-03 17:30:01
  • jdk官方下载地址2025-04-03 17:30:01
  • 组策略 uac2025-04-03 17:30:01
  • 万成图文2025-04-03 17:30:01