资源简介
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小程序
相关资源
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
- 基于C/S架构考试系统(Java)
- java access 仓库管理系统 源码
- 一元多项式相加 java实现
评论
共有 条评论