- 浏览: 79910 次
- 性别:
- 来自: 上海
文章分类
最新评论
//建立LDAP服务器的连接
package com.prime.mypackage;
import java.io.File;
import java.io.FileInputStream;
import java.util.Hashtable;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
public class LdapQuery {
/*服务提供者*/
private static String CTX_FACTORY = "com.sun.jndi.ldap.LdapCtxFactory";
/*LDAP连接*/
private DirContext dirContext;
/*参数列表*/
private Hashtable enviroment;
/**
* 构造函数
*/
public LdapQuery() {
dirContext = null;
enviroment = new Hashtable();
}
public static void main(String[] args){
LdapQuery lp=new LdapQuery();
try{
lp.init("cn=orcladmin","abc123");
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 读取配置文件,连接LDAP服务器
* @throws LdapException
*/
public DirContext init(String username, String password)
throws Exception {
try {
Properties config = new Properties();
File f = new File("C:/Projects/Java/ldap.property");
if (!f.exists()) {
throw new Exception("没发现配置文件");
}
FileInputStream configFile = new FileInputStream(f);
config.load(configFile);
String host = config.getProperty("host");
String port = config.getProperty("port");
configFile.close();
enviroment.put(Context.INITIAL_CONTEXT_FACTORY, CTX_FACTORY);
enviroment.put(Context.PROVIDER_URL, "ldap://" + host + ":" + port);
if (password != null) {
enviroment.put(Context.SECURITY_AUTHENTICATION, "simple");
enviroment.put(Context.SECURITY_PRINCIPAL, username);
enviroment.put(Context.SECURITY_CREDENTIALS, password);
}
dirContext = new InitialDirContext(enviroment);
if (dirContext != null) {
System.out.println("Connect");
return dirContext;
}
return null;
} catch (Exception e) {
throw new Exception("LdapQuery.init:" + e.toString());
}
}
}
//做第一个动作 add()
package com.prime.mypackage;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.naming.directory.DirContext;
import java.util.Hashtable;
import java.util.Enumeration;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls ;
import javax.naming.NamingEnumeration;
import javax.naming.directory.SearchResult;
import javax.naming.directory.Attributes ;
import javax.naming.directory.Attribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.ModificationItem;
import java.lang.reflect.Method;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class LdapAction
{
DirContext ctx=null;
public static void main(String[] args)
{
LdapAction LA=new LdapAction();
LA.add();
}
public LdapAction()
{
LdapQuery query=new LdapQuery();
try{
ctx=query.init("cn=orcladmin","abc123");
}catch(Exception e)
{
e.printStackTrace();
}
}
public void add(){
try{
String newUserName = "test_add";
BasicAttributes attrs = new BasicAttributes();
BasicAttribute objclassSet = new BasicAttribute("objectclass");
BasicAttribute pass=new BasicAttribute("userpassword");
pass.add("123qweasd");
objclassSet.add("top");
objclassSet.add("person");
objclassSet.add("organizationalPerson");
objclassSet.add("inetOrgPerson");
objclassSet.add("orcluser");
objclassSet.add("orcluserV2");
attrs.put(pass);
attrs.put(objclassSet);
attrs.put("sn", newUserName);
attrs.put("uid", newUserName);
attrs.put("cn", newUserName);
ctx.createSubcontext("uid=" + newUserName+",cn=users,dc=dev,dc=daphne,dc=com,dc=cn", attrs);
}catch(Exception e){
System.out.println("Exception in add():"+e);
}
}
}
发表评论
-
SSO原理机制
2017-04-07 16:07 503一、单系统登录机制 1、http无状态协议 web ... -
Java开发规范
2017-03-16 10:45 536元数据起始 重要: 每次提交代码前,一定要使 ... -
java识别当前设备类型
2015-08-12 12:24 1606package com.tgb.util; impo ... -
JVM原理
2014-10-10 09:46 560JVM原理 JVM 原理解释 ... -
ldap java api
2013-11-11 10:41 1989从JDK5.0开始,对LDAP协议的数据访问操作就被集成在 ... -
java程序运行cmd命令
2011-12-06 10:48 1085public class Test { public st ... -
java正则表达式入门
2011-12-04 15:28 836java正则表达式入门 众所周知,在程 ... -
使用java技术将Excel表格内容导入mysql数据库
2011-09-24 20:22 10241、添加POI jar包到项目的lib目录下2、Exce ... -
Eclipse快捷键-方便查找
2011-09-02 00:27 628【Ct rl+T】 搜索当前接口的实现类 1. 【 ... -
JSP C标签
2010-12-22 14:13 1028核心标签库 它是JSTL中的核心库,为日常任务提供通用 ... -
JSP C标签
2010-12-22 13:52 1023从JSP 1.1规范开始,JSP就支持在JSP中使用自定 ... -
JSP EL语言
2010-12-21 11:15 721一、JSP EL语言定义 E L(Expre ... -
Myeclipse6.5下使用XFire开发WebService的简单例子
2010-12-18 18:22 856一,创建服务并发布: 1.新建一webservice项目(或 ... -
基于AXIS的web service项目环境搭建
2010-12-18 18:12 1468一.Web服务 Web服务是一种新型的Web应用程序。不同于 ... -
Web service是什么?
2010-11-28 19:41 676我认为,下一代互联网软件将建立在Web service(也 ... -
Java事务处理总结
2010-11-02 09:19 659一、什么是Java事务 通常的观念认为,事务仅与数据库相关。 ... -
Ubuntu安装JDK配置Tomcat服务
2010-10-15 15:43 1140Ubuntu安装JDK配置Tomcat服 ... -
MyEclipse 代码提示卡死之终极优化
2010-10-12 10:18 904大多数javaman在使用myeclipse的过程中都遇到过代 ... -
struts 线程安全问题
2010-09-28 16:28 909Struts Action的线程安全问题 文章分类:Java ... -
spring ioc与aop
2010-09-28 15:06 1025aop叫aspect oriented program,面向切 ...
相关推荐
Laravel开发-adldap2-laravel Laravel的LDAP身份验证和管理。
java使用ldap修改ad域用户密码
AD ldap java集成
JAVA中使用LDAP进行用户认证,可靠、可用、可复制
Java 连接ldap需要驱动包,否则JDBC无法访问数据库(无法注册驱动),常用的是ldap-connector
ldap-account-manager-3.7 ldap-account-manager-3.7ldap-account-manager-3.7
project report on Java-Project-on-SECURE-INTERCONNECTION-OF-LDAP-AND-DNSSEC-PKI-WITHIN-INTERNET
Softerra LDAP Administrator 2019.1 最新版本,功能齐全,稳定
Springboot-LDAP针对AD域控做用户和组织进行同步
JAVA ldap AD 域 免证书 查询 修改 删除 新增 启用 禁用 修改密码
主要介绍了JAVA使用Ldap操作AD域的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
LDAP_-_概念、体系结构和设计 LDAP_-_概念、体系结构和设计
ldap-test-tool 一个轻量级的 ldap 测试工具
LDAP实现AD域账号验证
在windows系统上搭建并配置一个LDAP服务器的LDAP admin连接工具。
LdapBrowser LdapBrowser
使用内置的身份验证驱动程序,轻松地允许LDAP用户登录到您的应用程序并控制哪些用户可以通过和登录。 轻松导入和同步LDAP用户。 可以在首次登录时将用户导入数据库,也可以通过简单的php artisan adldap:import...
getsentry-ldap-auth, 将LDAP服务器添加为authention源的岗哨扩展 sentry-ldap-auth一个用于岗哨的Django 自定义认证后端。 这个模块扩展了 django-auth-ldap插件的功能,具有特定的。特性这里后端创建的用户是受管...