使用Java操作LDAP案例

本文详细介绍了如何在Java中利用UnboundID LDAP SDK与LDAP目录服务器进行交互,包括建立连接、创建DC、组织、组织单元和用户,以及修改、删除和查询数据的步骤,展示了Java操作LDAP的便捷性。
摘要由CSDN通过智能技术生成

1 案例描述 
公司平台使用LDAP来储存企业或用户的信息,在系统的运行过程中需要对LDAP存储的信息进行相关的访问和操作,那么在Java中是如何操作LDAP的呢? 

2 案例分析 
LDAP是一个得到关于人或者资源的集中、静态数据的快速方式,是一种存储模式和访问协议。 
UnboundID LDAP SDK for Java是一个快速、综合易用的 LDAP 目录服务的 Java 客户端API,它提供了一套快速、强大、用户友好并且开源的Java API来与LDAP目录服务器交互,可读写 LDIF、使用BASE64 和 ASN.1 BER 进行编码解码,支持安全通信等特性,要求 Java 1.5 或者更新版本支持,同时也支持 Android 平台。与其它基于Java的LDAP APIs相比,它具有更好的性能、更易于使用,功能更多,而且还是唯一一个不断有活跃开发和增强的SDK。 
在软件开发中,对数据的操作无非就是增加、删除、修改、查询等4种操作,对LDAP的操作也一样。下面我们一起探讨在Java中如何使用UnboundID LDAP SDK操作LDAP。 

3 解决过程 
3.1 准备 
1、Java客户端API(UnboundID LDAP SDK for Java) 
下载地址 http://sourceforge.net/projects/ldap-sdk/files/ 

2、LDAP客户端(Apache Directory Studio) 
下载地址 http://directory.apache.org/studio/ 

3.2 定义参数 

Java代码  
  1. // 当前配置信息  
  2. private static String ldapHost = "172.16.160.196";  
  3. private static int ldapPort = 389;  
  4. private static String ldapBindDN = "cn=manager,dc=com";;  
  5. private static String ldapPassword = "******";  
  6. private static LDAPConnection connection = null;  


3.3 建立连接 

Java代码  
  1. /** 连接LDAP */  
  2. public static void openConnection() {  
  3.     if (connection == null) {  
  4.         try {  
  5.             connection = new LDAPConnection(ldapHost, ldapPort, ldapBindDN, ldapPassword);  
  6.         } catch (Exception e) {  
  7.             System.out.println("连接LDAP出现错误:\n" + e.getMessage());  
  8.         }  
  9.     }  
  10. }  


3.4 创建数据 
1、创建DC对象 

Java代码  
  1. /** 创建DC */  
  2. public static void createDC(String baseDN, String dc) {  
  3.     String entryDN = "dc=" + dc + "," + baseDN;  
  4.     try {  
  5.         // 连接LDAP  
  6.         openConnection();  
  7.           
  8.         SearchResultEntry entry = connection.getEntry(entryDN);  
  9.         if (entry == null) {  
  10.             // 不存在则创建  
  11.             ArrayList<Attribute> attributes = new ArrayList<Attribute>();  
  12.             attributes.add(new Attribute("objectClass""top""organization""dcObject"));  
  13.             attributes.add(new Attribute(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值