OpenLDAP implementation of the Lightweight Directory Access Protocol. http://www.openldap.org/
Windows 下安装 LDAP:
1、下载下面附件中的 openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.rar 解压后安装,安装的时候一直点击“下一步”即可。
2、配置LDAP,假设我们安装到了“C:\Program Files\OpenLDAP”,在该目录中找到 slapd.conf 文件,修改文件内容。在 include ./schema/core.schema 后面添加如下内容:
include ./schema/cosine.schema include ./schema/inetorgperson.schema include ./schema/corba.schema include ./schema/dyngroup.schema include ./schema/java.schema include ./schema/misc.schema include ./schema/nis.schema include ./schema/openldap.schema
找到
suffix "dc=my-domain,dc=com"
rootdn "cn=Manager,dc=my-domain,dc=com"
将如上两行修改为
suffix "o=tcl,c=cn"
rootdn "cn=Manager,o=tcl,c=cn"
下面的
rootpw secret
是Manager的明文密码。
3、启动 OpenLDAP ,CMD切换到“C:\Program Files\OpenLDAP” 然后执行如下命令
slapd -d 1
4、建立新的条目
创建一个文本文件 item.ldif 其内容如下:
dn: o=tcl,c=cn objectClass: dcObject objectClass: organization o: tcl dc: com dn: uid=Unmi, o=tcl,c=cn uid: Unmi objectClass: inetOrgPerson mail: fantasia@sina.com userPassword:: MTIzNDU2 labeledURI: http://unmi.blogcn.com sn: Qiu cn:: 6ZqU5Y+26buE6I66
执行命令:ldapadd -x -D "cn=manager,o=tcl,c=cn" -w secret -f item.ldif ,将内容导入到ldap中。
5、查看LDAP中的条目
下载下面附件 "LdapAdmin.rar" ,将其解压无需安装。配置连接信息:
连接成功之后,查看刚刚创建的条目:
6、Java读取条目
package com.neusoft.util; import java.util.Hashtable; import javax.naming.Context; import javax.naming.NamingEnumeration; import javax.naming.NamingException; import javax.naming.directory.Attribute; import javax.naming.directory.Attributes; import javax.naming.directory.DirContext; import javax.naming.directory.InitialDirContext; import javax.naming.directory.SearchControls; import javax.naming.directory.SearchResult; public class LDAPTest { public static void main(String[] args) { LDAPTest LDAPTest1 = new LDAPTest(); String root = "o=tcl,c=cn" ; //root Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory" ); env.put(Context.PROVIDER_URL, "ldap://localhost/" + root); env.put(Context.SECURITY_AUTHENTICATION, "simple" ); env.put(Context.SECURITY_PRINCIPAL, "cn=Manager,o=tcl,c=cn" ); env.put(Context.SECURITY_CREDENTIALS, "secret" ); DirContext ctx = null ; try { ctx = new InitialDirContext(env); System.out.println( "Ldap连接成功" ); SearchControls constraints = new SearchControls(); constraints.setSearchScope(SearchControls.SUBTREE_SCOPE); NamingEnumeration en = ctx.search("", "(uid=Unmi)", constraints); while(en!=null && en.hasMoreElements()){ Object obj = en.nextElement() ; if (obj instanceof SearchResult) { SearchResult result = (SearchResult) obj; result.getName(); Attributes attrs = result.getAttributes(); System.out.println(attrs.toString()); Attribute attr = attrs.get("userPassword"); String str = new String((byte[])attr.get()); System.out.println(str); } } } catch (javax.naming.AuthenticationException e) { e.printStackTrace(); System.out.println( "Ldap连接失败" ); } catch (Exception e) { System.out.println( "认证出错:" ); e.printStackTrace(); } if (ctx != null ) { try { ctx.close(); } catch (NamingException e) { //ignore } } } }
相关推荐
ldap搭建
下面是一个简单的使用jLDAP进行SSL连接并查询LDAP目录的Java代码示例: ```java import com.novell.ldap.*; public class LDAPSSLExample { public static void main(String[] args) { String ldapUrl = "ldaps:...
Java 连接和验证 LDAP 文档 Java 连接和验证 LDAP 文档是一份关于 Java 语言连接和验证 LDAP 服务器的学习文档。LDAP(Lightweight Directory Access Protocol)是一种目录访问协议,用于管理和访问目录服务中的...
下面是一个使用LDAP进行用户认证的JAVA代码示例: ```java import javax.naming.Context; import javax.naming.NamingException; import javax.naming.directory.DirContext; import javax.naming.directory....
在 Java 中,开发者可以使用 JNDI 的 LDAP 实现来连接 LDAP 服务器,并执行各种操作。JNDI 提供了一个统一的接口来访问不同的目录服务,包括 LDAP、DNS、NIS 等。通过 JNDI,开发者可以使用 Java 语言来访问和操作 ...
java操作ldap类java操作ldap类java操作ldap类
最后,我们需要安装 JAVA 应用服务器,以便使用 Java 语言连接到 Active Directory 域控制器。 导出域根证书和计算机证书 在安装证书服务后,我们需要导出域根证书和计算机证书,以便使用 Java 语言连接到 Active ...
LDAP在Java环境中尤其重要,因为它允许Java应用程序与LDAP服务器进行交互,实现身份验证、授权以及数据检索等功能。 **Java LDAP库** 在Java中,我们可以使用Java LDAP API来与LDAP服务器通信。这个API包含在Java...
8、在编写 Java 代码时,需要使用 Hashtable 对象来存储 LDAP 连接的参数,使用 Socket 对象来连接 LDAP 服务器,并使用 SSL/TLS 加密协议来确保密码修改的安全性。 9、在编写 Java 代码时,需要使用相关的 LDAP ...
Java LDAP操作同样适用于连接和操作OpenLDAP服务器。 ### 5. 示例代码 在`LDAPTest`文件中,你可能会找到一个完整的Java程序,演示了上述的各种操作。这个程序可能包含了连接LDAP服务器、搜索用户、修改用户信息等...
本文将深入探讨如何使用Java通过LDAP(轻量级目录访问协议)和SSL(安全套接层)来实现用户和组织(部门)的增删改查操作,并结合证书确保通信的安全性。这些功能通常用于大型企业的用户管理,例如Active Directory...
**LDAP搭建资料** LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,用于管理和检索分布式目录服务中的数据。在IT行业中,LDAP被广泛应用于组织内部的身份验证、权限管理和数据共享,尤其...
通过JNDI,Java开发者可以方便地与LDAP服务器进行交互,实现诸如连接、添加、删除、修改和搜索等操作。 1. **JNDI基础** JNDI是一个接口,提供了一种统一的方式来查找和管理各种命名和目录服务,包括 LDAP、DNS、...
《LDAP编程与Java》这本书是关于使用Java进行 Lightweight Directory Access Protocol (LDAP) 开发的指南。LDAP是一种开放标准的网络协议,用于访问和管理分布式目录服务。它在企业级应用中广泛使用,如用户身份验证...
本示例展示了如何使用 Java 语言连接 LDAP 服务器,执行搜索操作,并获取搜索结果。 一、LDAP 概述 LDAP 是一种目录访问协议,用于访问和管理分布式目录信息。LDAP 服务器可以存储大量的目录信息,例如用户信息、...
3. **代码文档**:提供了Java代码示例,说明如何在应用程序中集成CAS和LDAP。 4. **程序源码**:可能包括了一个示例项目,展示了完整的Java LDAP+CAS集成的实现。 5. **群组信息**:提供了一个讨论组的联系方式,供...
### LDAP编程与Java #### LDAP概述 LDAP(Lightweight Directory Access Protocol)是一种基于TCP/IP的应用层协议,用于访问和管理分布式目录服务。它最初由互联网工程任务组(IETF)设计,作为X.500目录访问协议...
在Java中,可以使用Java LDAP API来与LDAP服务器进行交互,执行查询、添加、删除、修改等操作。本指南将详细介绍如何使用Java LDAP API。 ### 1. LDAP简介 LDAP目录服务是一种存储组织数据的方式,它不同于传统的...