LDAP是什么?
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都 简称位LDAP。它是基于X.500标准的,但更简单并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP协议,这对访问Internet来说是必需的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。一个简单的LDAP组件配置案例
1.LDAP简介
简单来说,LDAP是一个用于得到关于人或者资源的集中、静态数据的快速方式。
LDAP是一个用来发布目录信息得到许多不同资源的协议。通常它作为一个集中的地址本使用,不过根据组织者的需要,可以做得更加强大。
2.LDAP的实质
LDAP其实是一个电话簿,类似于我们所使用的诸如NIS(Network Information Server)、DNS(Domain Name Server)等的网络目录,也类似于测试人员在花园中所看到的树木。
不少LDAP开发人员喜欢把LDAP与关系数据库相比,认为是另一种存储方式,然后在读性能上进行比较。实际上这种对比的基础是错误的。LDAP和关系数据库是两种不同层次的概念,后者是存储方式(同一层次如网络数据库、对象数据库),前者是存储模式和访问协议。LDAP是一个比关系数据库抽象层次更高的存储概念,与关系数据库的查询语言SQL属同一级别。LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询做了优化,因此它可以很快地得到查询结果,不过在其他方面,例如更新,就慢得多了。
3.特殊的数据库
从另一个意义上,LDAP是实现了指定的数据库结构的存储,它是一种特殊的数据库。但是LDAP和一般的数据库不同,明白这一点是很重要的。LDAP对查询进行了优化,与写性能相比LDAP的毒性能要优秀很多。
就像Sybase、Orancle、Informix或Microsoft的数据库管理系统(DBMS)是用于处理查询和更新关系型数据库那样,LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但不是关系型数据库。要特别注意的是LDAP通常作为一个分级数据库使用,而不是一个关系数据库,因此它的结构用树来表示用表格好。正因为这样,就不能用SQL语句了。
现在LDAP技术发展得很快,在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有应用程序从LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据】公用秘钥、联系人列表,等等。通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。
4.LDAP目录的优势
如果需要开发一种提供公共信息查询的系统,一般的设计方法可能是采用基于Web的数据库设计方式,即掐你的那使用浏览器而后端使用Web服务器加上关系数据库。后端在Windows的典型实现可能是WindowsNT+IIS+Access数据库或者是SQL Server,IIS和数据库之间通过ASP技术使用ODBC进行连接,达到通过填写表单查询数据的功能。
后端在Linux系统的典型实现可能是Linux+Apache+PostgreSQL,Apache和数据库之间通过PHP3提供的函数进行连接。使用上述方法的缺点是后端关系数据库的引入引导系统整体的性能降低和系统的管理比较繁琐,因为需要不断底进行数据类型的验证和事物完整性的确认;并且前端用户对数据的控制不够灵活,用户权限的设置一般只能是设置在表一级而不是设置在记录一级。
目录服务的退出主要是解决上述数据库中存在的问题。目录与关系数据库相似,是指具有描述性的基于属性的记录集合,但它的数据类型主要是字符型,为了检测的需要添加BIN(二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax),而不是关系数据库提供的整数、浮点数、日期、货币等类型。同样也不提供像关系数据库中普遍包含的大量的函数,它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),不提供事物的回滚(Rollback)机制。它的数据修改使用简单的锁定机制实现All-or-Noting,它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。
现在来介绍LDAP目录到底有些什么优势。现在LDAP的流行是很多因素共同作用的结果。肯呢个LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端访问LDAP目录,而且也很容易定制应用程序为它加上LDAP的支持,
5.LDAP的协议
LDAP协议是跨平台和标准协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP得到了业界的广泛认可,因为它是Internet的标准。厂商都很愿意在产品中加入对LDAP的支持,因为他们根本不用考虑另一端(客户端或服务端)是怎样的。LDAP服务器可以是任何一个开放源代码或商用的LDAP目录服务器(或者还可能是具有LDAP服务器进行交互。与LDAP不同的是,如果软件厂商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务器单独定制。不像很多商用的关系型数据库,测试人员不必为LDAP的每一个客户端连接或许可协议付费。大多数的LDAP服务器安装起来很简单,也很容易维护和优化。
标签:脚本,数据库,查询,关系数据库,测试,LDAP,服务器,目录 From: https://blog.51cto.com/u_15605684/7606428