`
johnson_gong
  • 浏览: 13238 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

java LDAP 使用简单步骤

    博客分类:
  • LDAP
 
阅读更多
项目背景:
某电信项目,使用LDAP存储用户信息。现在需要根据用户的“电话号码”获取其全部信息。
关键代码(我当时不会的):
[size=large][color=green]
// LDAPEntry nextEntry = searchResults.next();
// LDAPAttributeSet attSet = nextEntry.getAttributeSet();
// for (Iterator iterator = attSet.iterator(); iterator.hasNext();) {
//	LDAPAttribute att = (LDAPAttribute) iterator.next();
//	LDAPattrNameValue.add(att.getName() + ": " + att.getStringValue());
//}
[/color][/size]

详细代码:
// ConnectDIR
String ldapHost = "xxx.xxx.xxx.xxx";

// To get user's id
String loginDN = "0001";

// To get user's password
String password = "admin"

LDAPConnection lc = new LDAPConnection();

// connect the "LDAP Server"
lc.connect(ldapHost, LDAPConnection.DEFAULT_PORT);

// Binding "LDAP Server"
lc.bind(LDAPConnection.LDAP_V3, loginDN, password.getBytes("UTF8"));

//SearchBase、SearchFilter、SearchScope
String strSearchBase = CLdapBasednInfo.getBaseDnNe();
String strsearchFilter = "cn=" + telephoneNO.replaceFirst("0{1}", "");
int intSearchScope = LDAPConnection.SCOPE_SUB;

// search the LDAP BY the telephoneNO TO get ENTRY. 
LDAPSearchResults searchResults = lc.search(strSearchBase,intSearchScope,strsearchFilter,null,false);

// searchResults.hasMore()

while (searchResults.hasMore()) {
	LDAPEntry nextEntry = null;
	try {
		nextEntry = searchResults.next();
	} catch (LDAPException ldape) {
		throw ldape;
	}
	dn = nextEntry.getDN();
	
	LDAPattrNameValue.add("dn:" + dn);
	LDAPAttributeSet attSet = nextEntry.getAttributeSet();
	for (Iterator iterator = attSet.iterator(); iterator.hasNext();) {
		LDAPAttribute att = (LDAPAttribute) iterator.next();
		LDAPattrNameValue.add(att.getName() + ": " + att.getStringValue());
	}
	
}

lc.disconnect();

// catch(LDAPException ldape)

// ===
// LDAPEntry nextEntry = searchResults.next();
// LDAPAttributeSet attSet = nextEntry.getAttributeSet();
// for (Iterator iterator = attSet.iterator(); iterator.hasNext();) {
//	LDAPAttribute att = (LDAPAttribute) iterator.next();
//	LDAPattrNameValue.add(att.getName() + ": " + att.getStringValue());
//}

可供参考的网站:
"Download URL:"
  http://www.findjar.com/jar/com.novell.ldap/jars/jldap-4.3.jar.html
"Tutorial"
  http://quark.humbug.org.au/publications/ldap/ldap_tut.html
分享到:
评论

相关推荐

    JAVA中使用LDAP进行用户认证

    JAVA中使用LDAP进行用户认证 JAVA中使用LDAP进行用户认证是指在JAVA应用程序中使用轻量级目录访问协议(LDAP)来进行用户身份验证。LDAP是一种基于X.500标准的目录访问协议,但它更简单、更灵活,可以根据需要进行...

    JAVA通过LDAP+SSL(证书)实现用户和组织(部门)增删改查.zip

    在Java中,使用LDAP进行用户验证通常涉及以下步骤: 1. 创建初始上下文:使用`InitialDirContext`类初始化到 LDAP 服务器的连接。 2. 实现认证:通过提供用户名和密码,使用`DirContext`的`bind`方法进行身份验证。 ...

    java LDAP操作

    Java LDAP操作步骤 - **连接LDAP服务器**:使用`InitialDirContext`类创建一个上下文对象,需要提供连接参数,如URL和凭据。 ```java Properties env = new Properties(); env.put(Context.INITIAL_CONTEXT_FACTORY...

    LDAP.rar_java ldap_ldap_ldap java

    在Java中,我们可以使用Java LDAP API来与LDAP服务器通信。这个API包含在Java的`javax.naming`和`javax.naming.ldap`包中,提供了丰富的类和接口,如`InitialLdapContext`、`NamingEnumeration`和`DirContext`等,...

    java LDAP+CAS单点登录

    在Java中,可以使用JNDI(Java Naming and Directory Interface)API来与LDAP服务器进行交互。 **CAS(Central Authentication Service)** CAS是一个开源的身份验证框架,由耶鲁大学开发,主要用于实现单点登录...

    使用Java操作LDAP案例

    总结起来,通过Java操作LDAP涉及的主要步骤有: 1. 初始化目录上下文。 2. 设置搜索过滤器和约束。 3. 执行搜索操作并处理结果。 4. 获取并处理目标对象的属性。 了解这些基本概念后,开发者可以根据具体需求,如...

    JAVA中使用LDAP进行用户认证.pdf

    ### JAVA中使用LDAP进行用户认证的关键知识点 #### LDAP简介与特性 LDAP,即轻量级目录访问协议(Lightweight Directory Access Protocol),源自X.500标准,但更简化且可定制。它支持TCP/IP协议,是互联网环境下...

    LDAP_Java_API_使用指南.rar

    下面是一个简单的Java LDAP查询示例: ```java import javax.naming.*; import javax.naming.ldap.InitialLdapContext; public class LdapExample { public static void main(String[] args) throws ...

    LDAP搭建及其Java代码连接

    **LDAP搭建及其Java代码连接** ...通过上述步骤,你可以建立一个基本的LDAP环境,并使用Java进行交互。实际应用中,还需考虑性能优化、安全性(如SSL/TLS加密、Kerberos集成)以及目录同步等问题。

    LDAP java 操作

    在Java中,我们可以使用JNDI(Java Naming and Directory Interface)来操作LDAP服务器,例如IBM Directory Server。本文将深入探讨如何使用Java与IBM Directory Server LDAP v3进行交互。** ### 1. JNDI简介 JNDI...

    Ldap文件读取工具(Java)

    **使用Java进行LDAP操作时,主要涉及以下几个步骤:** 1. **连接 LDAP 服务器**:首先,需要建立一个环境属性对象,并配置 LDAP 服务器的URL、端口、基础DN(Distinguished Name)等信息。然后,使用...

    java 连接ldap 服务器源码

    下面是一段简单的Java代码示例,展示了如何使用JNDI连接到LDAP服务器: ```java import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.naming....

    java操作Ldap,支持建立开启状态的用户,支持修改密码,放入eclipse测试即用

    在Java中,我们通常使用JNDI(Java Naming and Directory Interface)来与LDAP服务器交互。JNDI是一个API,它为多种命名和目录服务提供了统一的接口,包括LDAP。在本项目中,可能包含了一个或多个Java类,这些类封装...

    Spring LDAP 简单使用

    **Spring LDAP的使用步骤** 1. **配置ContextSource**: 在Spring配置文件中定义一个ContextSource,如: ```xml <bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource"> ...

    [原创] CentOS7 下 OpenLDAP Server 安装和配置及使用 phpLDAPadmin 和 Java LDAP 访问 LDAP Server

    以上内容详细介绍了在CentOS7环境下安装、配置OpenLDAP服务器,使用phpLDAPadmin进行图形化管理,以及如何通过Java LDAP API与LDAP服务器进行数据交互。这些步骤对于构建企业级的身份认证和授权系统至关重要。在实际...

    配置Open LDAP使用TLS通信

    配置Open LDAP使用TLS通信一般需要以下步骤: 1. 生成SSL证书和私钥:首先需要为LDAP服务器生成一个SSL证书和对应的私钥。这通常需要使用OpenSSL这样的工具来完成。生成的证书可以是自签名的,也可以是从证书颁发...

    java使用ldap修改ad域用户密码.pdf

    本文档主要介绍了如何使用 Java 通过 LDAP 协议修改 Active Directory(AD)域用户密码的详细步骤。下面将对标题、描述、标签和部分内容进行详细解释。 一、标题和描述 标题“java 使用 ldap 修改 ad 域用户密码....

    使用 Spring LDAP 读取数据并映射到 Java Bean 中

    这篇博客文章“使用 Spring LDAP 读取数据并映射到 Java Bean 中”主要探讨了如何通过Spring LDAP来查询LDAP目录信息,并将查询结果转换为Java对象,以便在应用程序中进一步处理。 首先,`pom.xml`文件是Maven项目...

    Java操作ldap(springboot工程)

    3. **数据转换**: 设计一个转换类,使用反射方法读取ldap条目的属性,并将其赋值给对应的Java对象。 4. **查询操作**: 使用`LdapTemplate`进行查询、增删改查等操作。例如,查找特定用户、更新用户信息等。 5. **...

    CentOS上安装LDAP,Java访问LDAP数据。

    以下是一个简单的示例代码 `Java4Ldap.java`: ```java import javax.naming.*; import javax.naming.directory.*; public class Java4Ldap { public static void main(String[] args) { // LDAP连接参数 ...

Global site tag (gtag.js) - Google Analytics