一. LDAP Connections
LDAPConnection 是LDAP的核心类,它提供了一种用来建立经过鉴别的或匿名的连接LDAP服务器的方法,和一些用于用于在目录中进行查询,比较,修改,删除条目的方法。
连接Demo:如下:
String MY_HOST = "localhost";
int MY_PORT = 389;
LDAPConnection ld = new LDAPConnection();
ld.connect( MY_HOST, MY_PORT );
这段代码创建了一个匿名的连接,在这里你可以通过使用绑定方法或执行别的操作验证连接服务器。
LDAP连接也可以在socket连接作为LDAPConnection构造器参数超时时创建,此参数值要用毫秒来指定。
实例如下:
int MY_SOCKET_TIMEOUT = 20000;
LDAPConnection ld = new LDAPConnection(MY_SOCKET_TIMEOUT);
ld.connect( MY_HOST, MY_PORT );
使用LDAPConnection构造函数来创建连接,设置socket连接超时连接时间为20秒,超过20秒将连接到MY_HOST,如果连接到MY_HOST上的连接在20秒内未能激活,则抛出一个异常。
绑定:如果希望验证一个需要多次匿名访问的操作,可以使用LDAPConnection.bind方法。
eg:ld.bind(loginDN, loginPW);
注:在此处偶曾吃过亏,自以为已经熟悉了ldap的编码(看过了一些公司项目的代码),忘记了一句至理名言:“掌握一门语言,最好的导师就是它的文档”。
填写loginDN为null或” ”将会进行匿名验证。
二.查询目录
查询要使用LDAPContext.search,当你执行一个Ldap查询方法时,你需要制定以下五种基本参数:
1. Search Base:它指定了你要从那条条目开始查询。例如:ou=hgcbroadband.com,o=HGC;空字符串表示从根目录开始查。
2. Search Scope:它指定你想查询的深度。
3. Search Filter:定义那些条目将被返回。不可为空!
4.Attribute List: 用来指定你想从查询获取的条目中返回的属性 ,默认情况下,返回所有属性。
5. types Only:指定你希望返回属性还是返回属性和值来指示属性集合。
刚学ldap,对上面的文档,我有一点疑问。当我使用的时候,创建连接的方式是通过LdapContext接口的,找不到上面所说的LDAPConnection核心类。是不是因为我使用的是java jndi连接的缘故啊!敬请赐教!
我的连接代码如下:
private static String adminName = "";
private static String adminPassword = "";
private static String ldapURL = "";
static {
try {
PropertiesConfiguration pc = new PropertiesConfiguration ( "ldap.properties" );
pc.setReloadingStrategy ( new FileChangedReloadingStrategy ( ) );
adminName = pc.getString ( "adminName" );
adminPassword = pc.getString ( "adminPassword" );
ldapURL = pc.getString ( "ldapURL" );
pc.clear ( );
} catch ( Exception ex ) {
ldapURL = "";
adminName = "";
adminPassword = "";
// throw new NamingException("Read LDAP connect information failed, Please contact administration!");
}
}
private static void readLdapProperties () throws NamingException {
if ( null==ldapURL ||"".equals(ldapURL)||null==adminName||"".equals(adminName) ) {
throw new NamingException ( "Read LDAP connect information failed, Please contact administration!" );
}
}
public static LdapContext getLdapDirContext () throws NamingException {
LdapContext ctx = null;
try {
readLdapProperties ( );
Properties env = new Properties ( );
env.put ( Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory" );
// set security credentials, note using simple cleartext authentication
env.put ( Context.SECURITY_AUTHENTICATION, "simple" );
// env.put(Context.SECURITY_AUTHENTICATION, "none");
env.put ( Context.SECURITY_PRINCIPAL, adminName );
env.put ( Context.SECURITY_CREDENTIALS, adminPassword );
// connect to my domain controller
env.put ( Context.PROVIDER_URL, ldapURL );
// Create the initial directory context
ctx = new InitialLdapContext ( env , null );
if ( ctx == null ) {
throw new NamingException ( "Connect LDAP failed, Please contact administration!" );
}
} catch ( NamingException ne ) {
throw ne;
}
return ctx;
}
分享到:
相关推荐
**LDAP中文学习手册** LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是一种用于存储和检索分布式信息目录的标准网络协议。它主要用于管理和查询组织的用户账户、资源和配置信息。LDAP目录...
**LDAP使用手册** LDAP(Lightweight Directory Access Protocol)是一种轻量级的目录访问协议,源自X.500协议但经过简化,适用于访问目录服务。它具有以下特点: 1. **存储灵活性**:LDAP能够存储在其他环境中...
**LDAP简介** LDAP,全称为轻量级目录访问协议(Lightweight Directory Access Protocol),是一种用于访问和管理分布式目录服务的标准网络协议。它主要用于存储和检索用户、组织、资源等信息,广泛应用于身份验证...
### 泛微协同管理ecology系统与LDAP集成手册 #### 第一部分:LDAP概述 ##### LDAP目录的优势 在探讨LDAP(轻量级目录访问协议)及其与泛微ecology系统的集成之前,我们首先来了解一下LDAP的一些核心优势。这些...
根据提供的文件信息,我们可以从这份名为“Ldap学习手册pdf版”的文档中提炼出与LDAP相关的知识点。以下是对这些知识点的详细阐述: ### LDAP基础知识 #### 1. LDAP简介 - **LDAP**(Lightweight Directory Access ...
LDAP 配置手册 LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,基于该协议的软件有 openLDAP、Active Directory 等。LDAP 配置手册旨在帮助用户快速了解 LDAP 的基本概念、结构和配置...
### LDAP使用手册知识点详解 #### 一、LDAP简介 LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种用于访问目录服务的标准协议。它源自于X.500目录访问协议,但在实现上进行了简化,使得...
通过深入学习这个"LDAP使用手册"和"Domino 同步视图设置",读者将能够理解 LDAP 的核心概念,掌握与 LDAP 服务器交互的编程技巧,并了解如何在实际环境中整合 LDAP 与 Lotus Domino。这些知识对于系统管理员、开发...
### LDAP使用手册 #### LDAP简介 LDAP(Lightweight Directory Access Protocol),即轻量级目录访问协议,是一种基于TCP/IP的应用层协议,用于访问目录服务。它源于ITU-T X.500标准,但进行了简化处理,使其更加...
LDAP 中文学习手册 LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,用于访问目录服务。它是 X.500 目录访问协议的移植,但是简化了实现方法。 目录服务与关系数据库之间的区别 LDAP 与...
LDAP,即轻量级目录访问协议,是用于访问和维护分布式目录信息服务的协议。它为X.500目录访问协议的简化版本,尽管它来源于X.500标准,但其设计更加易于在互联网上实现。LDAP适用于那些需要快速访问少量数据的场景,...
通过这本书,系统专家可以了解到如何利用LDAP技术构建和维护一个可靠且安全的目录服务基础设施,并通过IBM SecureWay Directory的实践案例学习到具体的配置和实施技巧。这本手册对于需要在复杂网络环境中实现高效、...
### LDAP学习资料与Sun Java System Directory Server 5.2管理手册解析 #### 一、LDAP基础知识 LDAP(Lightweight Directory Access Protocol),即轻量级目录访问协议,是一种应用层协议,用于访问和维护分布式...
Sun Directory Server,也被称为Sun One Directory Server,是Sun Microsystems(现已被Oracle公司收购)开发的一款强大的 Lightweight Directory Access Protocol (LDAP) 服务器。LDAP是一种开放标准的目录服务协议...
### LDAP目录数据库详细使用手册及原理分析 #### 一、LDAP简介 LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种基于X.500标准的目录访问协议,但进行了大量的简化以适应互联网环境下的...
**Ldap和Xsan配置手册** 在IT领域中,Ldap(Lightweight Directory Access Protocol)和Xsan(Extreme SAN)是两种重要的技术。Ldap是一种轻量级的目录访问协议,用于存储和检索用户信息,而Xsan则是一种高性能的...
**LDAP浏览器:深入理解与应用** LDAP(轻量级目录访问协议)是一种用于查询和管理分布式目录服务的网络协议,广泛应用于企业环境中的用户身份验证、权限管理和数据共享。LdapBrowser是一款专为开放源代码的...