JAVA_基本LDAP操作
一、简介
Lightweight Directory Access Protocol (LDAP),轻型目录访问协议是一个访问在线目录服务的协议。下面的例子中简单介绍在java中队ldap的增删该查功能。目录结构为:
CD=CAS,DC=MYDC
--cn=users
----uid=zhangsan
二、示例1、通过LdapContext连接ldap
//查询public void testSearch() throws Exception {LdapContext ctx = connetLDAP();// 设置过滤条件String uid = "zhangsan";String filter = "(&(objectClass=top)(objectClass=organizationalPerson)(uid=" + uid + "))";// 限制要查询的字段内容String[] attrPersonArray = { "uid", "userPassword", "displayName", "cn", "sn", "mail", "description" };SearchControls searchControls = new SearchControls();searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);// 设置将被返回的AttributesearchControls.setReturningAttributes(attrPersonArray);// 三个参数分别为:// 上下文;// 要搜索的属性,如果为空或 null,则返回目标上下文中的所有对象;// 控制搜索的搜索控件,如果为 null,则使用默认的搜索控件NamingEnumeration<SearchResult> answer = ctx.search("cn=users,dc=cas,dc=mydc", filter.toString(), searchControls);// 输出查到的数据while (answer.hasMore()) {SearchResult result = answer.next();NamingEnumeration<? extends Attribute> attrs = result.getAttributes().getAll();while (attrs.hasMore()) {Attribute attr = attrs.next();System.out.println(attr.getID() + "=" + attr.get());}System.out.println("============");}}