LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP

读写效率非常高

对读操作进行优化的一种数据库,在读写比例大于7比1的情况下,LDAP会体现出极高的性能。这个特性正适合了身份认证的需要。

OpenLDAP开源实现

OpenLDAP还包含了很多有创造性的新功能,能满足大多数使用者的要求。笔者曾使用过许多商用LDAP产品,OpenLDAP是其中最轻便且消耗系统资源最少的一个。OpenLDAP是开源软件,近年国内很多公司开发的LDAP产品都是基于OpenLDAP开发的。

开放的标准协议

不同于SQL数据库,LDAP的客户端是跨平台的,并且对几乎所有的程序语言都有标准的API接口。即使是改变了LDAP数据库产品的提供厂商,开发人员也不用担心需要修改程序才能适应新的数据库产品。这个优势是使用SQL语言进行查询的关系型数据库难以达到的。

灵活添加数据类型

LDAP是根据schema的内容定义各种属性之间的从属关系及匹配模式的。例如在关系型数据库中如果要为用户增加一个属性,就要在用户表中增加一个字段,在拥有庞大数量用户的情况下是十分困难的,需要改变表结构。但LDAP只需要在schema中加入新的属性,不会由于用户的属性增多而影响查询性能

强认证方式

可以达到很高的安全级别。在国际化方面,LDAP使用了UTF-8编码来存储各种语言的字符。

数据存储是树结构

整棵树的任何一个分支都可以单独放在一个服务器中进行分布式管理,不仅有利于做服务器的负载均衡,还方便了跨地域的服务器部署。这个优势在查询负载大或企业在不同地域都设有分公司的时候体现尤为明显

LDAP的特点

1.LDAP 是一种网络协议而不是数据库,而且LDAP的目录不是关系型的,没有RDBMS那么复杂,
2.LDAP不支持数据库的Transaction机制,纯粹的无状态、请求-响应的工作模式。
3.LDAP不能存储BLOB,LDAP的读写操作是非对称的,读非常方便,写比较麻烦,
4.LDAP支持复杂的查询过滤器(filter),可以完成很多类似数据库的查询功能。
5.LDAP使用树状结构,接近于公司组织结构、文件目录结构、域名结构等我们耳熟能详的东东。 LDAP使用简单、接口标准,并支持SSL访问。

LDAP与NIS相比

1.LDAP是标准的、跨平台的,在Windows下也能支持。
2.LDAP支持非匿名的访问,而且有比较复杂的访问控制机制(如ACL),安全性似乎更好一些。
3.LDAP支持很多复杂的查询方式。
4.LDAP的用途较NIS更为广泛,各种服务都可以和LDAP挂钩。

LDAP的主要应用场景

1.网络服务:DNS服务
2.统一认证服务:
3.Linux PAM (ssh, login, cvs. . . )
4.Apache访问控制
5.各种服务登录(ftpd, php based, perl based, python based. . . )
6.个人信息类,如地址簿
7.服务器信息,如帐号管理、邮件服务等