学习LDAP的过程

原创 2006年06月12日 22:08:00
    写这篇文章,是因为,最近学习了LDAP的相关知识,因为整个学习过程都与网络有关,大量的文献资料都是从网上下载下来的。现将,我学习LDAP的过程简要列出来,目的是想为那些还没有接触和掌握LDAP的人来说,能够节约大量的时间和精力。
1、  的英文的意思我是早就接触,只是了解,并不深入,所以,这次想多了解一些,于是从网上下载了大量的资料,从理论上了解LDAP是怎么回事,如什么是LDAP?什么是X.500?X.500与LDAP是什么关系?X.500与X.509?什么是DN等,大家在网上输入关键字LDAP可以搜索到很多的相关的资料。LDAP
2、  光说不练不行,还得找一找软件,我所知道的,提供LDAP目录服务的软件有IBM domino,SUN 提供的软件,以及开源的OPENLDAP,而我手头没有安有LINUX操作系统的机器,所以,软件最好能在windows server 2003上运行。安装要简单,配置最好也要简单。于是,我从网上下载了openldap for win32的安装包。
3、  安装过程很顺利,安装好后,用netstat –an 查看,LDAP服务的389端口处于正常的侦听状态,说明服务正常启动了。
4、  根据下载的文档,修改slapd.conf配置文件,将MY-DOMAIN改为自已设定的名称,如ydzy。样例文件如下:
database bdb
suffix             "dc=ydzy,dc=com"
rootdn            "cn=Manager,dc=ydzy,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw    secret
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory ./data
# Indices to maintain
index       objectClass     eq
5、  然后,按照OPENLDAP快速帮助的说明,自已制作了根DN的ydzy.ldif文件。
dn: dc=ydzy,dc=com
objectclass: dcObject
objectclass: organization
o: Example Company
dc: ydzy
 
dn= cn=Manager,dc=ydzy,dc=com
objectclass: organizationalRole
cn: Manager
这里要说明一下,由于本人下载的LDAP文档,绝大部分都是针对LINUX环境,提供的添加条目到LDAP目录服务器的命令是LINUX环境下的,所以,照抄时,总是不对。在WINDOWS命令行状态,要用双引号来括住一些信息。如上面的添加条目信息的命令为:
Ldapadd –x –D “cn=Manager,dc=ydzy,dc=com” –w secret –f ydzy.ldif
6、  在设定了最基本的条目后,我试着从VB工程中,用LDAP的ACTIVEX控件来连接LDAP服务器,无论在connect函数中怎么设定,就是报协议错,为此,花费了我不少时间和精力,我是在VB6中,通过AXLDAP控件连接OPENLDAP服务器的。这当中,最大的问题,就是LDAP服务器的管理员用户名和口令是什么。尽管后来才知道,不是连接LDAP服务器的用户名与口令不正确,而是控件不支持我所安装的OPENLDAP服务器的版本所致。
7、  尽管,OEPNLDAP提供了命令行的ldapsearhc工具,但对初学者来讲,仍然,不形象直观,于是,上网搜索,从http://www.ldapadministrator.com/下载了windows版的ldap客户端软件。这真是个好东西,下载下来,安装好后,进行简单的设置,那个OPENLDAP里面的内容就展现在我面前了。友情提醒一下,最好在下载OPENLDAP的时侯,就下载相应的客户端工具,这对于学习和理解LDAP的相关知识很有好处的,本人就是通过这款软件才迅速解决了许多问题。例如,前面所说的用户名/口令的问题,因在该软件中,要连接LDAP服务器,必须提供相应的用户名和口令,于是,我就试着填入相应的用户名和口令,终于明白,slapd.conf文件中的rootdn后面的一长串就是管理员的用户名,而rootpw后的明文secret就是管理员的密码,所以,象命令中的-D “cn=Manager,dc=ydzy,dc=com” –w secret 就是通常的用户名和口令的格式。
8、  前面,我们刚学会添加根DN的方法,在实际应用中,需要添加各种各样的信息到LDAP中,而要添加信息,必须掌握写作LDIF文件的方法,具体的LDIF的格式要求,从下载的文档,大家可以看到。我根据一篇文档的介绍,将公司员工的邮件地址存入LDAP服务器,以便于在OUTLOOK等工具中可以查询。于是,我编写了以下格式的文件:
dn: cn=lxj,dc=ydzy,dc=com
objectclass: inetorgPerson
cn: lxj
cn: luoxiaojun
sn: luo
mail: lxj@192.1.3.211
 
dn: cn=lxr,dc=ydzy,dc=com
objectclass: inetorgPerson
cn: lxr
cn: lixinyue
sn: li
就是向目录服务器,添加两个条目。
然后,就用ldapadd 命令向目录服务器加,始终报语法错误,这是怎么回事呢?左看右看,这时,我通过LDAP客户端软件,查看其中的模式,发现没有inetorgperson这个模式,于是我想到,是否,应在slapd.conf中将相关的模式文件包含进来,于是打开slapd.conf文件,发现,默认的配置文件中,只有一个core.schema包含了进来,而在openldap的安装文件夹下,可以看到schema文件夹,于是,将相应的inetorgperson模式文件添加到slapd.conf文件中。重启openldap服务器,再运行添加条目的命令,成功,通过LDAP客户端工具,可以看到,几条信息已经成功地添加到LDAP服务器中。
9、  我在网上,也看到一些文章讲LDAP应用面变窄的问题,其实,我们通过PKI,通过LDAP,我们发现,国外,似乎在追求一种基础架构,即公共,标准,安全。LDAP中能存储的在关系统数据库基本上都可以存储,但关系数据库无法做到作为一种公共设施,轻便,便于实施,所以,从追求标准化来看,LDAP将来将是信息基础构件,就象家里用的灯泡一样,而不是应用越来越窄,相反,会得到很广的应用。比如,微软的activedirectory活动目录,不就是一个例证吗?
10、              通过X.500或LDAP的条目DN可以和X.509数字证书绑定在一起,便于用户的查询。这种应用是较好的一种组合。
11、              服务器提供了主从服务器的复制功能,确保了LDAP的稳定性和可靠性,实现起来也很容易。LDAP

LDAP用户验证过程概述

以LDAP方式验证用户,首先要配置项目为允许LDAP方式验证,然后再配置用户的验证方式。当一个项目被配置为使用LDAP验证,它既支持LDAP验证方式的用户,也支持以RequisitePro验证方式的用...
  • Sunnyyou2011
  • Sunnyyou2011
  • 2012年02月08日 09:32
  • 4269

LDAP学习资料整理

转自http://blog.csdn.net/arhaiyun/article/details/8937468 LDAP中的objectClass与Attribute 初学LDAP时容...
  • mawming
  • mawming
  • 2016年08月01日 18:52
  • 434

spring-ldap学习(一)

1、搭建ldap服务,我用的系统是Ubuntu14.04,具体可以参考这篇文章:ubuntu14.04搭建ldap服务,按照步骤来没什么问题。   安装之后访问地址为:http://10.8.12.1...
  • Victor_Cindy1
  • Victor_Cindy1
  • 2017年05月18日 15:39
  • 1394

学习过程中的一些感悟

一切都是源于C++的学习...     刚开学学习C++时候,我就很好奇C++是如何处理输入和输出,直到今天读到IO库这个章节,才大致明白些。有时候想一想,自己的计算机基础实在是太差了,很多概念...
  • u014343243
  • u014343243
  • 2015年02月04日 15:59
  • 806

LDAP使用手册

1) 下载ApacheDS 地址为: http://directory.apache.org 2) 在ApacheDS 安装完成后要启动ApacheDS服务。路径如下:计算机— 管理—服务–...
  • danruoshui315
  • danruoshui315
  • 2015年08月27日 10:37
  • 1936

学习LDAP

乍看之下,设计一个LDAP服务器的目录拓扑好像是很麻烦的事。但是只要预先计划一下,那这件事就变得相对简单了。此文中,我们将分别讨论每个你必须考虑的主题:   · 什么是目录树?它们看起来像什么?...
  • arhaiyun
  • arhaiyun
  • 2013年05月15日 23:37
  • 840

OpenLDAP初学习

LDAP入门学习 LDAP:LDAP是轻型目录访问协议,实现提供被称为目录服务的信息服务。目录服务是特殊的数据库系统,其针对读取、检索、浏览进行特定优化。LDAP目录是按照树型结构组织的,具体信息存储...
  • jiujiuming
  • jiujiuming
  • 2017年04月10日 11:14
  • 392

个人总结--关于学习过程中的一些经验心得分享

九月份的时候,母校校庆,我们拍了校庆的祝福,至今我还是印象深刻其中有一个环节是,回想美好的大学生活,想对现在的学弟学妹们说些啥,那天看了制作好的视频,感觉还是很有意义,所以还想在这里再总结一些,作为过...
  • happymonica11
  • happymonica11
  • 2018年01月19日 18:04
  • 95

我的Java学习流程

学Java一年有余,每每总结时,常常遗憾于学习过程的迂回曲折。好比站在高处俯视蚂蚁搬家,总觉得存在有诸多可疑之处,倘若有人能分享学习过程,那么设想我就不会走那么多弯路,浪费那么多时间。言归正传,Jam...
  • iamasnail
  • iamasnail
  • 2006年10月13日 23:52
  • 3853

BP神经网络学习过程

出资neural network design这本书,希望大家能真正懂BP,BP不难,但是BP很重要
  • qq_21446553
  • qq_21446553
  • 2016年06月30日 23:14
  • 180
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习LDAP的过程
举报原因:
原因补充:

(最多只允许输入30个字)