java openldap_java操作OpenLdap示例
1、创建新项目TestOpenLdap;
2、新建测试类TestOpenLdap.java;
3、编写测试程序。代码见附件。package com.suresec.openldap;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
public class TestOpenLDAP {
final private static String account = "Manager";
final private static String password = "python";
final private static String root = "dc=python,dc=com";
public TestOpenLDAP()
{
//init();
}
public DirContext getCtx()
{
DirContext ctx = null;
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://192.168.1.45: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 (Exception e) {
// TODO Auto-generated catch block
System.out.println("认证失败:"+e.toString());
return null;
}
return ctx;
}
public void add(DirContext ctx)
{
try {
String newUserName = "hi";
BasicAttributes attrs = new BasicAttributes();
BasicAttribute objclassSet = new BasicAttribute("objectClass");
objclassSet.add("top");
objclassSet.add("organizationalUnit");
attrs.put(objclassSet);
attrs.put("ou",newUserName);
ctx.createSubcontext("ou=" + newUserName+","+root, attrs);
} catch (NamingException e) {
// TODO Auto-generated catch block
System.out.println("Exception in add():"+e);
}
}
public void delete(DirContext ctx)
{
try {
ctx.destroySubcontext("ou=hi,dc=python,dc=com");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void close(DirContext ctx)
{
try {
if(ctx != null)
{
ctx.close();
}
} catch (NamingException e) {
// TODO Auto-generated catch block
System.out.println("NamingException in close():"+e);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestOpenLDAP testOpenLdap = new TestOpenLDAP();
DirContext ctx = testOpenLdap.getCtx();
testOpenLdap.add(ctx);
testOpenLdap.close(ctx);
}
}
4、运行测试程序,结果如下所示:
java openldap_java操作OpenLdap示例相关推荐
- Java API 操作 OpenLDAP
OpenLDAP Windows 安装 @RunWith(SpringRunner.class) @SpringBootTest public class OpenLDAPJavaAPITest {p ...
- java ldap操作实例_Java Spring Security示例教程中的2种设置LDAP Active Directory身份验证的方法...
java ldap操作实例 LDAP身份验证是世界上最流行的企业应用程序身份验证机制之一,而Active Directory (Microsoft为Windows提供的LDAP实现)是另一种广泛使用的 ...
- Java文件操作(超详细+代码示例)
Java文件操作 一.Java.io包 1.1 File类 1.2 Stream流(字节流) 1.2.1 使用FileInputStream类 1.2.2 使用FileOutputStream类 1. ...
- RocksDB Java API 操作示例
1. RocksDB特点 rocksDB 是一个可嵌入的,持久性的 key-value存储.基于Google的LevelDB,但提高了扩展性可以运行在多核处理器上,可以有效使用快速存储,支持IO绑定. ...
- java字符串操作_Java的字符串操作
Java的字符串操作 小型送分题:Java有字符串(String),StringBuffer(字符串缓存),StringBuilder(字符串建造者?)各种实现,究其原因还是历史上的各种坑. 一.不同 ...
- Java 9 特性与示例
Java 9 特性与示例 Java 9是一个主要版本,它为开发人员带来了许多功能.在本文中,我们将详细介绍Java 9的功能. Java 10已发布,有关Java 10发行版的完整概述,请参阅Java ...
- Spring Boot + JPA +MySQL 数据操作及示例环境搭建(自动建表)
JPA 是Java官方提供的数据持久的统一API , 是一个接口标准,并没有具体实现. JPA的实现常见的有: Hibernate TopLink (Eclipse Link) Spring Boot ...
- 大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作
大数据技术之_20_Elasticsearch学习_01 一 概述 1.1 什么是搜索? 1.2 如果用数据库做搜索会怎么样? 1.3 什么是全文检索和 Lucene? 1.4 什么是 Elastic ...
- Java删除操作注册表
Java删除操作注册表 示例代码如下: Preferences userData = Preferences.userRoot();Scanner input = new Scanner(System ...
最新文章
- 面试官:GET和POST两种基本请求方法有什么区别
- 未能加载文件或程序集或它的某一个依赖项_手写一个miniwebpack
- SLAM: Orb_SLAM的使用小综述
- 2020牛客暑期多校训练营(第一场)
- couchbase_Couchbase:使用Twitter和Java创建大型数据集
- 【Elasticsearch】揭秘 Elasticsearch 分片分配
- 放弃Dubbo,选择最流行的Spring Cloud微服务架构实践与经验总结
- Linux之间ssh免密码登录
- Photoshop插件-删除亮调通道蒙板-脚本开发-PS插件
- 记录linux deploy如何进行分区安装centos7
- word2vec模型原理及实现词向量训练案例
- Android 宽高比控件
- 图片服务器的架构演进
- 客户信息管理系统类毕业论文文献有哪些?
- 清除tomcat缓存HTML,清除Tomcat缓存
- 数模论文写作方法3|问题重述
- Easyui datagrid数据清空
- ITパスポート5天学习笔记④_Rx
- 阿里P7架构师到底有多难?
- 《C语言程序设计》笔记