java对接ldap_如何使用Java操作LDAP之LDAP连接(一)
JAVA操作LDAP有几种方法,这里主要介绍的是JNDI包,就是它:
com.sun.jndi.ldap.LdapCtxFactory
LDAP默认情况下使用的是BDB数据库,所以呢,操作LDAP就和操作数据库一样,要分几步走:
1、先导入所需的包,如下:
import java.util.ArrayList;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.DirContext;
import javax.naming.directory.Attributes;
import javax.naming.directory.ModificationItem;
import javax.naming.directory.SearchResult;
import javax.naming.NamingException;
import com.sun.net.ssl.internal.ssl.Debug;
2、连接LDAP,得到连接对象,如下:
DirContext ctx = null; //这个就是LDAP的连接对象
Hashtable env = new Hashtable(); //定义一个哈希表来存连接信息
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory"); //记录工JNDI工厂
env.put(Context.PROVIDER_URL, ldap://192.168.0.1:389); //LDAP的地址,要根据LDAP服务器IP进行修改,389是LDAP的默认端口
env.put(Context.SECURITY_AUTHENTICATION, "simple"); //这个是默认授权类型,一般不用改
env.put(Context.SECURITY_PRINCIPAL, ""); //LDAP的账户名,一般是这样的格式:dc=cs,dc=hunan,dc=com ,根据LDAP的配置情况来
env.put(Context.SECURITY_CREDENTIALS, "123456"); //对应上面账户的密码
try
{
ctx = new InitialDirContext(env); //初始化LDAP连接,连接成功后就可以用ctx来操作LDAP了
}
catch(NamingException e)
{
e.printStackTrace();
}
这里建议大家把以上的代码写成一个函数,返回DirContext 这个对象,方便使用。
转载自:http://blog.sina.com.cn/s/blog_4da69d9a0100ja75.html
java对接ldap_如何使用Java操作LDAP之LDAP连接(一)相关推荐
- 免费电子面单Api_快递鸟接口JAVA对接调用案例
电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务.通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍.电子面单以接口形式嵌入到自己的系统.网站上,可以在自己的平台操作打印电子面单. 一. ...
- Java对接AD/LDAP的常见错误,以及解决办法
1.[LDAP: error code 34 - 00000057: LdapErr: DSID-0C090B60, comment: Error processing name, data 0, v ...
- JAVA对接支付宝支付(超详细,一看就懂)
Java对接支付宝支付 更多内容 冷文博客: 传送门 引入 为什么要发这篇帖子呢?原因很简单,就是因为在一个稍稍正规一点的应用上都会有支付这个环节,我们日常的在线支付如今包括支付宝,微信钱包,QQ钱包 ...
- java对接支付宝支付
java对接支付宝支付演示 现在有不少的项目都需要对接支付,这里主要是进行讲解对接支付宝H5支付 废话不多说 上代码 引入支付宝官方的sdk <!-- https://mvnrepository ...
- Java对接JeePay支付、转账实现以及回调函数
最近公司对接了第三方支付平台JeePay,看到网上文章比较少,给大家发一篇对接微信支付的吧,支付宝也一样,更换里面的参数即可,官方文档地址:系统介绍 - 计全文档,具体的服务需要大家去搭建,并创建里面 ...
- Java对接第三方支付渠道之支付宝支付
提示:支付宝相对于微信支付更人性化,且细节做得更好. Java对接第三方支付渠道之支付宝支付 一.前期准备工作 二.导入依赖 三.书写配置类 四.书写配置文件 五.调用相关支付接口 1.流程图 2.创 ...
- Java对接微信支付(完整全流程)
Java对接微信支付及支付回调通知的全流程 一.所用框架.对接微信支付我们技术组用的是payment框架,因为该框架已整合springboot因此很方便快捷 <dependency>< ...
- Java对接ansible自动运维化平台
Java对接ansible自动运维化平台实现文件采集分发 经过大量查阅,网上使用Java对接ansible自动运维化平台的示例代码几乎没有,为了方便自己后期巩固以及有需要的小伙伴,特以记录!!! 此次 ...
- java对接PayPal支付(v2)
java对接PayPal支付 我们公司最近开通了网上支付功能,国内选择对接支付宝和微信,国外选择对接paypal, 今天我先将paypal对接方式记录下来,后面会记录微信和支付宝(本人比较懒,微信和支 ...
最新文章
- R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法、data.table、dplyr等方案、计算滑动分组统计
- linux 内核互斥体,Linux 内核同步(六):互斥体(mutex)
- HTMLCSS学习笔记(四)----浮动原理及清浮动
- May 18:PHP 用到的学习工具
- 论文盘点:ICCV 2019 Top 20,MobileNetV3居首!
- C++ 多态的实现及原理
- AjaxControltoolkit学习笔记—PopupControl 使用详解
- 2021-11-24 摘抄:软件产品的一些功能和性能指标
- 如何创建git账户的chroot
- 分享180个动态模板PPT模板,总有一款适合你
- 例题(15.6) 细菌实验分组
- 09.CSS3渐变、过渡、转换、动画
- Flutter FloatingActionButton 及仿闲鱼的发布按钮
- 熤星传媒:抖音这些方面要注意!
- 经典S Q L语句大全
- java 制作pdf模板,Java-pdf模板制作流程-使用pdf 模板生成pdf文件
- 《用事实说话》阅读心得
- 一维参照物的摄像机定标
- 图片内容巴特勒 (隐藏文字到图片)
- Java小白学习二十八——冒泡排序
热门文章
- 框架下cookie的使用_为什么自动化运维系统越来越多使用都RESTful API?
- Http / Get 和 Post 区别
- 氨氮吹脱法脱与php有关系吗,吹脱法处理氨氮废水的原理及优缺点分析
- mysql 性能日志_Mysql系列(十一)—— 性能分析慢查询日志
- Arduino--0.91寸OLED液晶屏
- YaoCCAD软件中设置坐标原点
- php浏览器类型检测工具,php检测客户端浏览器类型的简单示例
- python修改excel后打印_python 处理excel并打印excel
- 「微信小程序免费辅导教程」24,基础内容组件icon的使用探索与7月26日微信公众平台的更新解读...
- Linux 下比较文件内容并相同部分、不同部分