什么是LDAP?
LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。他是基于X.500标准的,
但是简单多了并且能够根据需要定制。和X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP
的核心规范在RFC中都有定义,任何和LDAP相关的RFC都能够在LDAPman RFC网页中找到。现在LDAP技术不但
发展得很快而且也是激动人心的。在企业范围内实现LDAP能够让运行在几乎任何电脑平台上的任何的应
用程式从LDAP目录中获取信息。LDAP目录中能够存储各种类型的数据:电子邮件地址、邮件路由信息、人力
资源数据、公用密匙、联系人列表,等等。通过把LDAP目录作为系统集成中的一个重要环节,能够简化员工
在企业内部查询信息的步骤,甚至连主要的数据源都能够放在任何地方。

LDAP目录的优势

假如需要研发一种提供公共信息查询的系统一般的设计方法可能是采用基于WEB的数据库设计方式,即前端
使用浏览器而后端使用WEB服务器加上关系数据库。后端在Windows的典型实现可能是Windows NT IIS Acess
数据库或是SQL服务器,IIS和数据库之间通过ASP技术使用ODBC进行连接,达到通过填写表单查询数据的功能;

后端在Linux系统的典型实现可能是Linux Apache postgresql,Apache和数据库之间通过PHP3提供的函数进
行连接。使用上述方法的缺点是后端关系数据库的引入导致系统整体的性能降低和系统的管理比较繁琐,因为需
要不断的进行数据类型的验证和事务的完整性的确认;并且前端用户对数据的控制不够灵活,用户权限的配置一
般只能是配置在表一级而不是配置在记录一级。

目录服务的推出主要是解决上述数据库中存在的问题。目录和关系数据库相似,是指具备描述性的基于属性的记
录集合,但他的数据类型主要是字符型,为了检索的需要添加了BIN(二进制数据)、CIS(忽略大小写)、CES
(大小写敏感)、TEL(电话型)等语法(Syntax),而不是关系数据库提供的整数、浮点数、日期、货币等类型,
同样也不提供象关系数据库中普遍包含的大量的函数,他主要面向数据的查询服务(查询和修改操作比一般是大于
10:1),不提供事务的回滚(rollback)机制,他的数据修改使用简单的锁定机制实现All-or-Nothing,他的目标
是快速响应和大容量查询并且提供多目录服务器的信息复制功能。

现在该说说LDAP目录到底有些什么优势了。现在LDAP的流行是很多因数一起作用的结果。可能LDAP最大的优势是:
能够在任何电脑平台上,用很容易获得的而且数目不断增加的LDAP的客户端程式访问LDAP目录。而且也很容易
定制应用程式为他加上LDAP的支持。

LDAP协议是跨平台的和标准的协议,因此应用程式就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP
得到了业界的广泛认可,因为他是Internet的标准。产商都很愿意在产品中加入对LDAP的支持,因为他们根本不用
考虑另一端(客户端或服务端)是怎么样的。LDAP服务器能够是任何一个研发源代码或商用的LDAP目录服务器(或
者还可能是具备LDAP界面的关系型数据库),因为能够用同样的协议、客户端连接软件包和查询命令和LDAP服务器
进行交互。和LDAP不同的是,假如软件产商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务
器单独定制。不象很多商用的关系型数据库,您不必为LDAP的每一个客户端连接或许可协议付费 大多数的LDAP服务
器安装起来很简单,也容易维护和优化。

LDAP服务器能够用“推”或“拉”的方法复制部分或全部数据,例如:能够把数据“推”到远程的办公室,以增加
数据的安全性。复制技术是内置在LDAP服务器中的而且很容易配置。假如要在DBMS中使用相同的复制功能,数据库
产商就会要您支付额外的费用,而且也很难管理。

LDAP允许您根据需要使用ACI(一般都称为ACL或访问控制列表)控制对数据读和写的权限。例如,设备管理员可
以有权改变员工的工作地点和办公室号码,但是不允许改变记录中其他的域。ACI能够根据谁访问数据、访问什么数
据、数据存在什么地方连同其他对数据进行访问控制。因为这些都是由LDAP目录服务器完成的,所以不用担心在客
户端的应用程式上是否要进行安全检查。

LDAP(Lightweight Directory Acess Protocol)是目录服务在TCP/IP上的实现(RFC 1777 V2版和RFC 2251

V3版)。他是对X500的目录协议的移植,但是简化了实现方法,所以称为轻量级的目录服务。在LDAP中目录是按照
树型结构组织,目录由条目(Entry)组成,条目相当于关系数据库中表的记录;条目是具备区别名DN(Distinguished

Name)的属性(Attribute)集合,DN相当于关系数据库表中的关键字(Primary

Key);属性由类型(Type)和多个值(Values)组成,相当于关系数据库中的域(Field)由域名和数据类型组成,
只是为了方便检索的需要,LDAP中的Type能够有多个Value,而不是关系数据库中为降低数据的冗余性需要实现的各
个域必须是不相关的。LDAP中条目的组织一般按照地理位置和组织关系进行组织,很的直观。LDAP把数据存放在
文档中,为提高效率能够使用基于索引的文档数据库,而不是关系数据库。LDAP协议集还规定了DN的命名方法、存
取控制方法、搜索格式、复制方法、URL格式、研发接口等

LDAP对于这样存储这样的信息最为有用,也就是数据需要从不同的地点读取,但是无需经常更新。

例如,这些信息存储在LDAP目录中是十分有效的:

l 公司员工的电话号码簿和组织结构图

l 客户的联系信息

l 电脑管理需要的信息,包括NIS映射、email假名,等等

l 软件包的配置信息

l 公用证书和安全密匙

什么时候该用LDAP存储数据

大多数的LDAP服务器都为读密集型的操作进行专门的优化。因此,当从LDAP服务器中读取数据的时候会比从专门为
OLTP优化的关系型数据库中读取数据快一个数量级。也是因为专门为读的性能进行优化,大多数的LDAP目录服务器

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!