LDAP学习笔记
来源:互联网 发布:mvp交火软件 编辑:程序博客网 时间:2024/06/07 02:20
LDAP协议
目录是一组具有类似属性、以一定逻辑和层次组合的信息。常见的例子是通讯簿,由以字母顺序排列的名字、地址和电话号码组成。
目录服务是一种在分布式环境中发现目标的方法。目录具有两个主要组成部分:
- 第一部分是数据库,数据库是分布式的,且拥有一个描述数据的规划。
- 第二部分则是访问和处理数据的各种协议。
目录服务其实也是一种数据库系统,只是这种数据库是一种树形结构,而不是通常使用的关系数据库。目录服务与关系数据库之间的主要区别在于:二者都允许对存储数据进行访问,只是目录主要用于读取,其查询的效率很高,而关系数据库则是为读写而设计的。
提示:目录服务不适于进行频繁的更新,属于典型的分布式结构。
LDAP是一个目录服务协议,目前存在众多版本的LDAP,而最常见的则是V2和V3两个版本,它们分别于1995年和1997年首次发布。
LDAP的基本模型
LDAP的基本模型是建立在“条目”(Entry)的基础上。一个条目是一个或多个属性的集合,并且具有一个全局唯一的“可区分名称”(用dn表示)。与关系型数据(后面简称数据库)进行类比,一个条目相当于数据库中的一条记录,而dn相当于数据库中记录的关键字,属性相当于数据库中的字段。
提示:dn必须是全局唯一的。
LDAP中,将数据组织成一个树形结构,这与现实生活中的很多数据结构可以对应起来,而不像设计关系型数据库的表,需要进行多种变化。例如,图1-1所示就是一个树形结构的数据。
在图1-1所示的树形结构中,树的根结点是一个组织的域名(dlw.com),其下分为3个部分,分别是managers、people和group,可将这3个组看作组织中的3个部门,如managers用来管理所有管理人员,people用来管理登录系统的用户,group用来管理系统中的用户组。当然,在该图中还可继续增加其他分支。
对于图1-1所示的树形结构,使用关系数据库来保存数据的话,需要设置多个表,一层一层分别保存,当需要查找某个信息时,再逐层进行查询,最终得到结果。
若使用目录来保存该图中的数据,则更直观。图中每个结点用一个条目来保存,不同类型的结点需要保存的数据可能不同,在LDAP中通过一个称为objectClass的类型来控制不同结点需要的数据(称为属性)。
对于目录中的数据怎样进行引用呢?前面提到过,每一个条目都有一个dn,因为dn是唯一的,因此就可找到需要结点的数据。dn的构造方式如下:
首先得到条目自己的名称(rdn,称为相对dn),然后开始向上逐级查找父结点,一直到根项为止。例如,对于图1-1中最右下方的结点,其dn为:
- dn: cn=ldap, ou=group, o=dlw.com
通过这样的方式,即可唯一标识每一个结点。
在现实生活中,有很多这种树形结构的数据,如计算机文件系统的目录结构、Internet中的域名等。这些类型的数据,只要不需要频繁的更新,都适合用目录来保存。
LDAP的功能
在LDAP的功能模型中定义了一系列利用LDAP协议的操作,主要包含以下4部分:
- 查询操作:允许查询目录和取得数据,其查询性能比关系数据库好。
- 更新操作:目录的更新操作没关系数据库方便,更新性能较差,但也同样允许进行添加、删除、修改等操作。
- 复制操作:前面也提到过,LDAP是一种典型的分布式结构,提供复制操作,可将主服务器的数据的更新复制到设置的从服务器中。
- 认证和管理操作:允许客户端在目录中识别自己,并且能够控制一个会话的性质。
LDAP协议的特点
- LDAP是一种目录服务,保存在特殊的数据库中,数据的读取速度远高于写入速度。
- LDAP对查询做了优化,读取速度优于普通关系数据库。
- LDAP不支持事务、不能进行回滚,需要进行这些操作的应用只有选择关系数据库。
- LDAP采用服务器/客户端模式,支持分布式结构。
- LDAP中的条目以树形结构组织和存储。
- LDAP基于Internet协议,直接运行在简单和通用的TCP/IP或其他可靠的传输协议层上,使连接的建立和包的处理简单、快捷,对于互联网和企业网应用都很方便。
- LDAP协议简单,通过使用查找操作实现列表操作和读操作。
- LDAP通过引用机制实现分布式访问,通过客户端API实现分布式操作(对于应用透明),平衡了负载。
- LDAP实现具有低费用、易配置和易管理的特点,并提供了满足应用程序对目录服务所需求的特性。
- LDAP 学习笔记
- LDAP学习笔记
- ldap学习笔记 1
- LDAP学习笔记<一>关于LDAP协议及其基本概念
- LDAP学习笔记(一)LDAP基本元素
- LDAP学习笔记(二)LDAP安装配置
- LDAP学习笔记<三>深入管理openLDAP
- Joomla 学习笔记----LDAP插件支持
- LDAP学习
- ldap学习
- ldap学习
- LDAP 学习
- Ldap学习
- LDAP学习
- 学习LDAP
- ldap学习
- LDAP学习
- LDAP学习
- LINUX errno
- 人生中第一个存储过程
- iOS自己总结的超级详细分解富文本大全(AttributedString),图文混排很轻松
- 正则表达式中的多行和非贪婪模式
- LightsService.java
- LDAP学习笔记
- fedora23添加GUI桌面快捷方式
- 优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案
- 关于高频差分线的布线和走线长度匹配方式技巧
- QTableWidget的用法总结
- SDWebImage的配置
- 30分钟搞定iOS自定义相机
- SPOJ 3273 Treap
- Light OJ 1067 Combinations (费小马定理求逆元)