资源简介
java代码操作linux上的openldap目录服务器,进行增删改查操作
代码片段和文件信息
package OpenConnect;
/**
*
* @author lin
*/
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.*;
import java.util.*;
public class Lin {
DirContext ctx = null;
String account = “root“;// 操作LDAP的帐户。默认就是Manager修改为root。
String password = “111111“;// 帐户root的密码。
String root = “dc=xxxdc=xxx“; // LDAP的根节点的DC
public Lin() {
init();
//add();
//delete();
modifyInformation(“cn=ca_admin““dc=deandc=com“);
//searchInformation(“dc=deandc=com“ ““ “(objectclass=*)“);
//searchInformation(“ou=HRdc=deandc=com“ ““ “(objectclass=*)“);
//renameEntry(“uid=Linou=department3ou=research departmentdc=deandc=com“
// “uid=Linxianglongou=department3ou=research departmentdc=deandc=com“);
//getobjectClassDefinition(“account“); //获取指定objectClass的定义
//getDNobjectClassDefinition(“uid=Liou=department3ou=research departmentdc=deandc=com“) ;//获取指定DN的objectClass定义
//getAttributeDefinition(“uid“);//获取指定名字的Attribute定义
//getDNAttributeDefinition(“dc=deandc=com“ “objectClass“);
close();
}
public void init() {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY“com.sun.jndi.ldap.LdapCtxFactory“);
env.put(Context.PROVIDER_URL “ldap://192.168.0.114:389/“);
env.put(Context.SECURITY_AUTHENTICATION “simple“);
env.put(Context.SECURITY_PRINCIPAL “cn=“ + account + ““ + root);
env.put(Context.SECURITY_CREDENTIALS password);
try {
ctx = new InitialDirContext(env);// 初始化上下文
System.out.println(“认证成功“);// 这里可以改成异常抛出。
} catch (javax.naming.AuthenticationException e) {
System.out.println(“认证失败“);
} catch (Exception e) {
System.out.println(“认证出错:“ + e);
}
}
/* 添加新的ou */
public void add() {
try {
//String newUserName = “lin“;
BasicAttributes attrs = new BasicAttributes();
BasicAttribute objclassSet = new BasicAttribute(“objectClass“);
objclassSet.add(“top“);
objclassSet.add(“organizationalRole“);
attrs.put(objclassSet);
long t1=System.currentTimeMillis();
for(int i=1;i<=100;i++){
String newUserName = “ca_admin“+i;
attrs.put(“cn“ newUserName);
ctx.createSubcontext(“cn=“ + newUserName + ““ + root attrs);
}
long t2=System.currentTimeMillis();
System.out.println(“添加成功“);
System.out.println((t2-t1)/1000);
} catch (Exception e) {
e.printStackTrace();
System.out.println(“Exception in add():“ + e);
}
}
/* 删除ou */
public void delete() {
try {
long t1=System.currentTimeMillis();
for(int i=1;i<=100;i++){
String newUserName = “ca_admin“+i;
ctx.destroySubcontext(“ca=“+newUserName+“dc=deandc=com“);
}
System.out.println(“删除成功“);
long t2=System.currentTimeMillis();
System.out.println((t2-t1)/1000);
} catch (Exception e) {
e.printStackTr
- 上一篇:jintellitype-1.3.9
- 下一篇:3种设计模式的java小程序
相关资源
- 3种设计模式的java小程序
- java 基于p2p文件传输
- 加密与解密java课程设计
- JAVA 仿windows资源管理器的文件树
- java电子相册管理系统 sql 文件
- 操作系统实验及其代码Java编写
- php调用java写的webservice
- java web 博客
- 经典java小程序源代码合集.rar
- 用Java和SQL-Server做的学生管理系统
- 企业资产管理系统
- java web 文件上传与
- 银行账户管理系统 java课程设计 流程
- 精美Swing 折叠菜单
- 一个简单的抽奖机Java实现
- 完整的javaweb项目
- java排课算法核心代码及思想
- Java记事本
- java 学生管理系统界面
- HttpTools2.4
- 航空公司定订票系统B/S版
- java实现议程管理系统
- ASP HMAC_SHA256 HS256算法 基于JAVASCIRPT R
- 免费_图解java多线程设计模式
- primefaces 的主题jar包
- java中常用日语词汇
- java导出页面表格数据到excel表
- java做的一个简单的名字大战游戏
- json实现android客户端与服务器通信,用
- 清华大学Java+《程序设计》习题参考答
评论
共有 条评论