openldap 比起其他商业目录服务器(比如 IBM Directory Server),特别的轻巧,十分适合于本地开发测试用,在产品环境中的表现也很优秀。
openldap 软件在它的官方网站 http://www.openldap.org, 不过下载过来是源代码,并没有包含 win32 下的 Makefile 文件,只提供了在 Unix/Linux 下编译用的 Makefile。所以相应的在网上介绍在 windows 下安装使用 openldap 的资料比较少,而在 Unix/Linux 下应用文档却很丰富。
本文实践了在 Windows 下安装配 openldap,并添加一个条目,LdapBrowser 浏览,及 Java 程序连接 openldap 的全过程。
1. 下载安装 openldap for windows,当前版本2.2.29
下载地址:http://www.userbooster.de/en/download/openldap-for-windows.aspx
安装很简单,一路 next 即可,假设我们安装在 c:\openldap
2. 配置 openldap,编辑 sldap.conf 文件
1) 打开 c:\openldap\sldap.conf,找到
include C:/openldap/etc/schema/core.schema,在它后面添加
include C:/openldap/etc/schema/cosine.schema
include C:/openldap/etc/schema/inetorgperson.schema
接下来的例子只需要用到以上三个 schema,当然,如果你觉得需要的话,你可以把其他的 schema 全部添加进来
include C:/openldap/etc/schema/corba.schema
include C:/openldap/etc/schema/dyngroup.schema
include C:/openldap/etc/schema/java.schema
include C:/openldap/etc/schema/misc.schema
include C:/openldap/etc/schema/nis.schema
include C:/openldap/etc/schema/openldap.schema
2) 还是在 sldap.conf 文件中,找到
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"
suffix 就是看自己如何定义了,后面步骤的 ldif 文件就必须与它定义了。还要注意到这个配置文件中有一个 rootpw secret,这个 secret 是 cn=Manager 的密码,以后会用到,不过这里是明文密码,你可以用命令: slappasswd -h {MD5} -s secret 算出加密的密码 {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ== 取代配置中的 secret。
3. 启动 openldap
CMD 进入到 c:\openldap 下,运行命令 sldapd -d 1
用可以看到控制台下打印一片信息,openldap 默认是用的 Berkeley DB 数据库存储目录数据的。
4. 建立条目,编辑导入 ldif 文件
1) 新建一个 ldif(LDAP Data Interchanged Format) 文件(纯文本格式),例如 test.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: 隔叶黄莺
2) 执行命令:ldapadd -x -D "cn=manager,o=tcl,c=cn" -w secret -f test.ldif
导入组织信息和一个用户 uid=Unmi
5. LdapBrowser 浏览
可点击链接 http://www.blogjava.net/Files/Unmi/LdapBrowser282.rar 下载,其中已配置好了 OpenLdap_Localhost
1) 设置如下图所示:
LdapBrowserSettings
指定了 Host 为 localhost 之后,可以点击 Fetch DNs 按钮显示出 o=tcl,c=cn 来,如果要能在 LdapBrowser 中对数据能修改就不能用 Anonymous bind, 必须填上 User DN: cn=manager,Passwer: secret。
2) 看到的效果是:
LdapBrowser
6. Java 连接 openldap
1. import java.util.Hashtable;
2. import javax.naming.Context;
3. import javax.naming.NamingException;
4. import javax.naming.directory.DirContext;
5. import javax.naming.directory.InitialDirContext;
6.
7. public class LDAPTest {
8. public static void main(String[] args) {
9. LDAPTest LDAPTest1 = new LDAPTest();
10. String root = "o=tcl,c=cn" ; //root
11. Hashtable env = new Hashtable();
12. env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory" );
13. env.put(Context.PROVIDER_URL, "ldap://localhost/" + root);
14. env.put(Context.SECURITY_AUTHENTICATION, "simple" );
15. env.put(Context.SECURITY_PRINCIPAL, "cn=Manager,o=tcl,c=cn" );
16. env.put(Context.SECURITY_CREDENTIALS, "secret" );
17. DirContext ctx = null ;
18. try {
19. ctx = new InitialDirContext(env);
20. System.out.println( "认证成功" );
21. }
22. catch (javax.naming.AuthenticationException e) {
23. e.printStackTrace();
24. System.out.println( "认证失败" );
25. }
26. catch (Exception e) {
27. System.out.println( "认证出错:" );
28. e.printStackTrace();
29. }
30.
31. if (ctx != null ) {
32. try {
33. ctx.close();
34. }
35. catch (NamingException e) {
36. //ignore
37. }
38. }
39. }
40. }
代码中还没有实现用户的查找,读取、修改条目属性的操作
- 大小: 27.6 KB
- 大小: 34.7 KB
分享到:
相关推荐
Windows 下安装和使用 OpenLDAP OpenLDAP 是一个开源的 LDAP 服务器实现,它提供了一个轻量级的目录访问协议,基于 X.500 标准,但比 X.500 简洁许多。OpenLDAP 支持 TCP/IP,适合Internet 环境。目录是一个专业的...
windows下OpenLdap安装及使用
在Windows环境下搭建并配置OpenLDAP服务器是一项常见的任务,特别是在企业级环境中,为了实现用户身份验证、数据共享和服务集成。OpenLDAP(Lightweight Directory Access Protocol)是一个开源的LDAP服务器,广泛...
总结来说,Windows下安装OpenLDAP涉及下载安装、配置、启动服务等多个步骤,而使用OpenLDAP则包括管理用户和权限控制。与Web应用如Tomcat的集成,需要在Tomcat和Jaas中进行适当的配置,实现基于OpenLDAP的身份验证和...
OpenLDAP 在 Windows 平台下的安装配置 OpenLDAP 是一个基于 Lightweight Directory Access Protocol (LDAP) 的目录服务软件,常用于身份验证、授权和目录服务。下面将介绍 OpenLDAP 在 Windows 平台下的安装配置...
标签“openLDAP”、“ldap”、“windows”和“openLDAP安装”、“openLDAP客户端”进一步强调了这个压缩包的内容,涵盖了OpenLDAP的基本概念,其与LDAP协议的关系,以及它在Windows环境下的安装和客户端应用。...
在Windows环境下,OpenLDAP提供了方便的安装包来简化部署过程。本文将详细介绍如何在Windows 32位系统上安装OpenLDAP 2.2.29版本。 首先,我们来看标题提到的"win32 openLdap 2.2.29 安装文件"。这表明这是一个专为...
windows下openldap的安装与java操作测试 windows下openldap的安装与java操作测试
以下是关于如何在Windows上使用Visual Studio 2008 (VC9)编译OpenLDAP的详细步骤和相关知识点: 1. **环境准备**: - 首先,你需要安装Microsoft Visual Studio 2008或兼容的编译环境,因为VC9是该版本的代号。 -...
OpenLDAP是一款开源的轻量级目录访问协议...总之,Windows版的OpenLDAP为开发者提供了一种在本地进行目录服务开发和测试的便捷途径,虽然与Linux环境下的安装有所不同,但通过正确配置和使用,可以很好地满足开发需求。
openldap-for-windows2.4.23 windows版本
在Windows环境下部署OpenLDAP,可以提供一个中央化的身份验证和授权服务,便于管理和组织用户数据。本指南将详细介绍如何在32位和64位的Windows系统上安装OpenLDAP。 首先,你需要下载对应系统的安装包。在这个...
总之,OpenLDAP for Windows_x64 (2.4.4)为Windows用户提供了一个强大且易用的目录服务解决方案,其安装和配置过程相对直观,适合各种规模的企业和组织使用。通过合理配置和管理,OpenLDAP能有效地提升IT基础设施的...
总结来说,OpenLDAP for Windows的安装和管理是一个涉及服务器配置、图形化工具使用、目录标准理解及数据安全等多个层面的过程。通过深入学习和实践,我们可以构建一个高效、可靠且符合标准的Windows LDAP服务环境。
本文将深入探讨OpenLDAP在Windows x64系统上的安装、配置以及常见操作。 首先,让我们理解LDAP的基础知识。LDAP是一种应用层的协议,遵循TCP/IP标准,主要用于存储和检索用户账户、组、网络资源等信息。它使用树状...
OpenLDAP for Windows2.4.34
在Windows平台上搭建OpenLDAP,可以为Windows环境提供类似Linux环境下的身份验证和授权服务。 首先,我们需要了解LDAP的基本概念。LDAP是一个应用层的协议,工作在TCP/IP协议栈上,主要用于访问和管理分布式目录...
在Windows环境下搭建OpenLDAP2.2.29,可以帮助组织管理和存储用户账户、组信息以及各种配置数据,使得这些信息能够被网络上的应用和服务方便地访问。 首先,了解OpenLDAP的基本概念是必要的。LDAP是一种应用层的...