LDAP是什么

LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。
LDAP目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般都非常简单。这种目录可以存储包括个人信息、web链结、jpeg图像等各种信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP之上的访问协议—LDAP。

LDAP目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表的记录。

LDAP是一个数据库,又不是一个数据库。说他是数据库,因为他是一个数据存储的东西。但是说他不是数据库,是因为他的作用没有数据库这么强大,而只是一个目录。

为了理解,给一个例子就是电话簿(黄页)。我们用电话簿的目的是为了查找某个公司的电话,在这个电话簿中附带了一些这个公司的基本信息,比如地址,经营范围,联系方式等。

这个例子是一个LDAP在现实生活中的表现。电话簿由一条一条的信息组成,信息按照行业,类比进行了分类。每条记录都分成了若干的区域,其中涵盖了我们要的信息。这就是一个Directory。一个树状的结构,每个叶子都是由一条一条的分成若干区域的记录。LDAP就是这么一个东西。

从概念上说,LDAP分成了DN, OU等。OU就是一个树,DN就可以理解为是叶子,叶子还可以有更小的叶子。

LDAP用途不是为了写,而是为了读。LDAP的用途不是针对并发写设计的,如果你有这样的需求,解决办法就应该是数据库,而不是LDAP。

另外一个例子,Access和SQL Server。Access就是一个数据库产品,但是主要用于家庭,功能和性能都比较弱。SQL Server就是一个专业的数据库系统,功能强大。

LDAP是一个轻量级的产品,主要目的是为了查,因此在架构和优化主要是针对读,而不是写。但并不是说LDAP不能满足,只是说强项不在这里。

LDAP作为一个统一认证的解决方案,主要的优点就在能够快速响应用户的查找需求。比如用户的认证,这可能会有大量的并发。如果用数据库来实现,由于数据库结构分成了各个表,要满足认证这个非常简单的需求,每次都需要去搜索数据库,合成过滤,效率慢也没有好处。虽然可以有Cache,但是还是有点浪费。LDAP就是一张表,只需要用户名和口令,加上一些其他的东西,非常简单。从效率和结构上都可以满足认证的需求。这就是为什么LDAP成为现在很人们的统一认证的解决方案的优势所在。

当然LDAP也有数据写入的接口,是满足录入要求的。

为了能对LDAP协议进行更好的理解,我们需要对以下概念有初步的认识:

目录信息树:DIT,Directory Information Tree,目录和条目的集合构成了目录信息树.

目录:Directory,存放对象的信息,这些信息以某种顺序组织,详细描述每个对象.

条目:Entry,目录信息树中的一个结点,是一个对象信息的集合,是目录信息中最基本的单位,包含该对象的一系列属性.

属性:Attribute,属性描述对象的特征.一个属性由属性类型(type)和一个或多个属性值(values)构成.

相对标识名:RDN,Relative Distinguished Name,条目的名字.

唯一标识名:DN,Distinguished Name,在一个目录信息树中唯一标识一个条目的名字.相当于关系数据库表中的关键字(Primary Key)。

属性由类型(Type)和一个或多个值(Values)组成,相当于关系数据库中的字段(Field)由字段名和数据类型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据存放在文件中,为提高效率可以使用基于索引的文件数据库,而不是关系数据库。Type的一个例子就是mail,其值将是一个电子邮件地址。

时间: 2024-11-08 19:23:57

LDAP是什么的相关文章

ldap配置

1.ldap是什么 ldap目录服务认证,和windows活动目录类似,就是记录数据的一种方式 2.ldap客户端所须软件 yum sssd krb5-workstation -y 3.如何开启ldap用户认证 authconfig-tui 安装时因为tls的证书缺失,需要到服务器端下载所需要的证书到/etc/openldap/cacerts, 用到的命令 wget http://172.25.254.254/pub/example-ca.crt    应直接在/etc/openldap/cac

c#取出LDAP SearchResult所有属性

string aaa = System.Threading.Thread.CurrentPrincipal.Identity.Name; DirectorySearcher ds = new DirectorySearcher();            ds.SearchRoot = new DirectoryEntry("LDAP://888.888.0.11/CN=Users,DC=***,DC=com", "***", "***");  

LDAP

一.简介 目录服务由目录数据库和一套协议组成,是一个存储.组织和提供信息访问服务的软件系统. LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP,它基于X.500标准的,可以根据需要定制.   二.资源 1)ldap_libraries_for_c ftp://sdk.provo.novell.com/ndk/cldap/builds/   三.实例 http://blog.csdn.net/seraphsky/

ldap for ruby

Net::LDAP for Ruby (also called net-ldap) implements client access for the Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for accessing distributed directory services. Net::LDAP is written completely in Ruby with no external

集中用户认证ldap

一.实验环境如下: rhel1:192.168.10.1   ldap-server rhel2:192.168.10.2   ldap-client 二.实验结果: 1. rhel1上的两个用户client1与client2可以在rhel2上登录系统: 2. client1与client2在rhel2上登录后都有自己的加目录: 三.实验具体实施步骤: (1.)rhel1(ldap服务端)配置过程: 1.安装ldap服务端软件包:yum  install  openldap-servers  -

《ldap认证---7.0RHEL》

使用LDAP验证服务 1. 安装相关的软件 yum install  -y  authconfig-gtk yum install  -y  krb5-workstation yum install  -y   sssd 2. 使用图形化界面配置: # authconfig-gtk 点击Download... 输入: http://classroom.example.com/pub/example-ca.crt 点击Apply 验证方法: 注:如果出现这个用户,则证明启用LDAP客户端成功

ii 第八单元 ldap网络帐号

1.ldap是什么ldap目录服务认证,和windows活动目录类似,就是记录数据的一种方式就像微博帐号,有一个帐号可以在任何一台设备登陆 2.ldap客户端所须软件yum sssd krb5-workstation -y authconfig-gtk sssd krb5-workstation做这个实验,首先 执行vim /etc/yum.repos.d/rhel_dvd.repo 再执行 pingclassroom.example.com 3.如何开启ldap用户认证 (1)通过 authc

nginx 引入LDAP验证

一.下载模块包 git clone https://github.com/kvspb/nginx-auth-ldap.git 二.nginx编译安装的时候,把模块编译进去. ./configure --add-module=path_to_http_auth_ldap_module make install 三.在nginx主配置文件的http标签中添加如下代码 group_attribute People 这个是验证的时候,访问哪个组 http {     ldap_server test2 

CentOS6.8中openvpn联动windows ldap做认证

使用 LDAP 的方式认证 1.实际上也有二种 一种用 openvpn-auth-ldap 即直接通过 LDAP 验证, 一种与 mysql 认证相似使用 pam-ldap -->通过 PAM -->然后再找 LDAP 验证. 这里主要用 openvpn-auth-ldap (另一方法,安装 yum install nss_ldap 包后找文件 /usr/local/etc/auth-ldap.conf 复制 /usr/share/doc/nss_ldap_253/ldap.conf.pam_

西部开源学习笔记BOOK2《ldap网络帐号》

############################## ##### unit8.ldap网络帐号 ###### ############################## ####1.ldap是什么#### ldap目录服务认证,和windows活动目录类似,就是记录数据的一种方式 ####2.ldap客户端所需软件#### [[email protected] ~]# yum install sssd krb5-workstation -y ####3.如何开启ldap用户认证####