目录

  • 概述
  • 测试环境
  • 安装过程
  • 配置启动
  • 客户端介绍
  • 多级DC的ldif文件的配置

[一]、概述

什么叫LDAP呢,概念的东西这里就不多讲了,网上搜索下有很多,本文的重点是介绍如何在windows平台上安装和配置openLDAP软件。

openLDAP官方网站:​​http://www.openldap.org/​

openLDAP官网只提供了linux平台的相关安装文件,windows平台的安装包可以到以下一些网站下载:

  • http://www.userbooster.de/download/openldap-for-windows.aspx(本文所用的版本)
  • http://sourceforge.net/projects/openldapwindows/files/
  • http://sourceforge.jp/projects/openldapwin32/releases/


 


[二]、测试环境

[三]、安装过程

按照提示 一直 next ,直到安装完成:

图文介绍openLDAP在windows上的安装配置_安装过程

图文介绍openLDAP在windows上的安装配置_多级_02

图文介绍openLDAP在windows上的安装配置_安装过程_03

图文介绍openLDAP在windows上的安装配置_客户端_04

图文介绍openLDAP在windows上的安装配置_导入数据_05

图文介绍openLDAP在windows上的安装配置_安装过程_06

图文介绍openLDAP在windows上的安装配置_导入数据_07

安装完成后,在系统服务中,找到 OpenLDAP Service,先停止服务,再把启动类型修改成手动,便于自己的测试。

[四]、配置启动

安装目录:D:\Program Files (x86)\OpenLDAP

编辑文件:D:\Program Files (x86)\OpenLDAP\slapd.conf 找到如下内容:




​1​

​suffix      ​​​​"dc=maxcrc,dc=com"​


​2​

​rootdn      ​​​​"cn=Manager,dc=maxcrc,dc=com"​


修改成:




​1​

​suffix      ​​​​"dc=micmiu,dc=com"​


​2​

​rootdn      ​​​​"cn=Manager,dc=micmiu,dc=com"​


打开控制台,切换到openLDAP安装目录下,启动openLDAP,命令如下:




​1​

​slapd -d 1​


会在控制台看到类似如下的日志信息:

图文介绍openLDAP在windows上的安装配置_多级_08

日志信息:slapd starting 表示服务已经启动好了。

新建一个文件:D:\Program Files (x86)\OpenLDAP\mydemo.ldif ,内容如下:




​1​

​dn: ​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​2​

​objectclass: domain​


​3​

​objectclass: ​​​​top​


​4​

​o: Michael Blog​


​5​

​dc​​​​: micmiu​


​6​

 


​7​

​dn: ou=Developer,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​8​

​objectclass: organizationalUnit​


​9​

​ou: Developer​


​10​

​description: Container ​​​​for​​ ​​developer entries​


​11​

 


​12​

​dn: ou=Tester,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​13​

​objectclass: organizationalUnit​


​14​

​ou: Tester​


​15​

​description: Container ​​​​for​​ ​​test​​ ​​entries​


​16​

 


​17​

​dn: uid=Michael,ou=Developer,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​18​

​uid: Michael​


​19​

​objectClass: inetOrgPerson​


​20​

​mail: sjsky_007@gmail.com​


​21​

​userPassword: 111111​


​22​

​labeledURI: http://www.micmiu.com​


​23​

​sn: Sun​


​24​

​cn: Michael Sun​


​25​

 


​26​

​dn: uid=Miumiu,ou=Tester,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​27​

​uid: Miumiu​


​28​

​objectClass: inetOrgPerson​


​29​

​userPassword: 111111​


​30​

​labeledURI: http://www.micmiu.com​


​31​

​sn: Wu​


​32​

​cn: Miumiu Wu​


tips:格式要严格,每行的开头和末尾不能有空格

然后在控制台中切换到openLDAP安装目录下执行ldapadd命令:




​1​

​ldapadd -x -D ​​​​"cn=Manager,dc=micmiu,dc=com"​​ ​​-w secret -f ./mydemo.ldif​


参数说明:

  • -x 使用简单验证方式
  • -D 指定管理员DN(与slapd.conf中配置的一致)
  • -W 大写W表示回车后根据提示输入密码,可以使用小写的-w password 直接输入密码
  • -f 需要导入数据LDIF的文件名
  • -h 目录服务器的IP地址

添加成功会显示如下信息:

图文介绍openLDAP在windows上的安装配置_客户端_09

!!!有网友说:按照我上面的命令,提示:’ldapadd’ 不是内部或外部命令,也不是可运行的程序或批处理文件。经过我的验证发现,该windows版本的openLDAP确实没有这个命令,我能执行成功是因为本机安装过oracle,而Oracle自带安装了LDAP client的一些常用命令。

如果没有”ldapadd“这个命令,还可以用它自带的命令“slapadd”代替导入数据文件。不过要注意的是:和ldapadd命令不同的是:执行slapadd命令前需要先停止之前启动的 slapd 服务(打开服务确定停止了该服务),然后在控制台中切换到openLDAP安装目录下执行命令:




​1​

​slapadd -​​​​v​​ ​​-l ./mydemo.ldif​


运行结果如下:

图文介绍openLDAP在windows上的安装配置_导入数据_10

ldapadd 和 slapadd 的差异:

  • ldapadd 对本地和远程服务都可以操作,操作时LDAP服务是不能停止
  • slapadd 只能对本地的LDAP服务进行操作,操作时本地LDAP服务必须先停止

验证添加的信息,在控制台中,切换到%OpenLDAP_HOME%/ClientTools 输入查询命令:




​1​

​ldapsearch -x -b ​​​​"dc=micmiu,dc=com"​​ ​​"(objectclass=*)"​


查询结果如下:

D:\Program Files (x86)\OpenLDAP\ClientTools>ldapsearch -x -b "dc=micmiu,dc=com" "(objectclas
s=*)"
dc=micmiu,dc=com
objectClass=domain
objectClass=top
o=Michael Blog
dc=micmiu

ou=Developer,dc=micmiu,dc=com
objectClass=organizationalUnit
ou=Developer
description=Container for developer entries

ou=Tester,dc=micmiu,dc=com
objectClass=organizationalUnit
ou=Tester
description=Container for test entries

uid=Michael,ou=Developer,dc=micmiu,dc=com
uid=Michael
objectClass=inetOrgPerson
mail=sjsky_007@gmail.com
userPassword=111111
labeledURI=http://www.micmiu.com
sn=Sun
cn=Michael Sun

uid=Miumiu,ou=Tester,dc=micmiu,dc=com
uid=Miumiu
objectClass=inetOrgPerson
userPassword=111111
labeledURI=http://www.micmiu.com
sn=Wu
cn=Miumiu Wu

验证成功。

[五]、客户端介绍

网上搜索到一个客户端:LdapBrowser282  附件提供相关下载:​​LdapBrowser282.zip​

下载解压后直接双击:lbe.bat 文件即可运行。

图文介绍openLDAP在windows上的安装配置_多级_11

图文介绍openLDAP在windows上的安装配置_openLDAP_12

点击上图中的 Fetch DNs 按钮会自动获取相关的DN信息的。

图文介绍openLDAP在windows上的安装配置_导入数据_13

上面的输入的密码就是之前安装过程中的那个密码(如果自己没有修改过)

图文介绍openLDAP在windows上的安装配置_导入数据_14

图文介绍openLDAP在windows上的安装配置_openLDAP_15

可以正确查询到之前添加的相关信息。

[六]、多级DC的ldif文件的配置

在实际应用中我们经常会碰到二级域名,类似:app1.micmiu.com、app2.micmiu.com,那么对应到LDAP中的DC就是多级,这时我们ldif文件又是如何配置呢?下面将给出个示例演示,新建一个文件:D:\Program Files (x86)\OpenLDAP\myappuser.ldif ,内容如下:




​1​

​dn: ​​​​dc​​​​=app1,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​2​

​objectclass: domain​


​3​

​o: Michael Demo​


​4​

​dc​​​​: app1​


​5​

 


​6​

​dn: ​​​​dc​​​​=app2,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​7​

​objectclass: domain​


​8​

​o: Michael Demo​


​9​

​dc​​​​: app2​


​10​

 


​11​

​dn: ou=Demo,​​​​dc​​​​=app1,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​12​

​objectclass: organizationalUnit​


​13​

​ou: Developer​


​14​

​description: Container ​​​​for​​ ​​Demo entries​


​15​

 


​16​

​dn: ou=Demo,​​​​dc​​​​=app2,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​17​

​objectclass: organizationalUnit​


​18​

​ou: Developer​


​19​

​description: Container ​​​​for​​ ​​Demo entries​


​20​

 


​21​

​dn: uid=michael,ou=Demo,​​​​dc​​​​=app1,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​22​

​uid: admin​


​23​

​objectClass: inetOrgPerson​


​24​

​mail: sjsky_007@gmail.com​


​25​

​userPassword: 111111​


​26​

​labeledURI: http://www.micmiu.com​


​27​

​sn: Sun​


​28​

​cn: Michael Sun​


​29​

 


​30​

​dn: uid=hazel,ou=Demo,​​​​dc​​​​=app1,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​31​

​uid: user​


​32​

​objectClass: inetOrgPerson​


​33​

​userPassword: 111111​


​34​

​labeledURI: http://www.micmiu.com​


​35​

​sn: Wu​


​36​

​cn: Hazel Wu​


​37​

 


​38​

​dn: uid=michael,ou=Demo,​​​​dc​​​​=app2,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​39​

​uid: admin​


​40​

​objectClass: inetOrgPerson​


​41​

​mail: sjsky_007@gmail.com​


​42​

​userPassword: 111111​


​43​

​labeledURI: http://www.micmiu.com​


​44​

​sn: Sun​


​45​

​cn: Michael Sun​


​46​

 


​47​

​dn: uid=hazel,ou=Demo,​​​​dc​​​​=app2,​​​​dc​​​​=micmiu,​​​​dc​​​​=com​


​48​

​uid: user​


​49​

​objectClass: inetOrgPerson​


​50​

​userPassword: 111111​


​51​

​labeledURI: http://www.micmiu.com​


​52​

​sn: Wu​


​53​

​cn: Hazel Wu​


tips:注意dc的对应关系,如下图:

图文介绍openLDAP在windows上的安装配置_导入数据_16

然后在控制台窗口中执行ldapadd命令:

ldapadd -x -D "cn=Manager,dc=micmiu,dc=com" -w secret -f ./myappuser.ldif


添加成功会显示如下信息:

图文介绍openLDAP在windows上的安装配置_openLDAP_17

如果 ldapadd 命令无法运行,先停止slapd 服务,然后在控制台中切换到openLDAP安装目录下执行命令:

slapadd -v -l ./myappuser.ldif


客户端工具中可以查询到相关信息:

图文介绍openLDAP在windows上的安装配置_客户端_18

ok,本文到此已经基本介绍完了,以后再详细介绍如何用Java实现对LDAP的相关操作。