使用JAVA库进行LDAP目录读取的例子

近来,为了解决LDAP相关的问题,补了一补LDAP相关的知识。下面的是一个简单例子:

 

 

import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;

 

public class LdapTest {


 public static void main(String[] args) throws NamingException {
  LdapTest LDAPTest1 = new LdapTest();
  String root = "DC=corp,DC=dell"; 

  Hashtable exp = new Hashtable();
  exp.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
  exp.put(Context.PROVIDER_URL, "ldap://10.67.10.230/" + root);
  exp.put(Context.SECURITY_AUTHENTICATION, "simple");
  exp.put(Context.SECURITY_PRINCIPAL, "cn//cnsystem");
  exp.put(Context.SECURITY_CREDENTIALS, "dell#123");
  DirContext idc = null;
  try {
   idc = new InitialDirContext(exp);
   System.out.println("verify success");
   System.out.println("---------------------------------");
   Attributes attributes = idc.getAttributes("");
   Attribute attr = null;
   NamingEnumeration nameEnu;
   for (NamingEnumeration item = attributes.getAll(); item.hasMore();) {   
             attr = (Attribute) item.next();   
             System.out.print(attr.getID() + ": ");   
             nameEnu = attr.getAll();   
             while (nameEnu.hasMore()) {   
                 System.out.print(nameEnu.next());
                 System.out.print("/n");
             }   
   }
  }catch (Exception e) {
   System.out.println("verify fail");
   System.out.println("---------------------------------");
   e.printStackTrace();
  }finally{
   idc.close();
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值