1.介绍

LDAP(Lightweight Directory Access Protocol)是"轻量级目录访问协议",

是一个用于访问"目录服务器"(Directory Servers)的协议。

这里所谓的"目录"是指一种按照树状结构存储信息的数据库。

2.DN唯一标识名

目录这个概念和硬盘上的目录结构类似,

不过LDAP的根目录必须是The world

一级子目录必须是国家(countries)。

二级子目录通常包含有公司(companies)、组织(organisations)、地点(places)等等……

三级子目录通常会包含人员(people)、设备(equipment)、文档(documents)等等……

当你引用硬盘上的文件时,通常是这样的:

/usr/local/myapp/docs

正斜杠**/**在这里表示级别分界线,并且从左向右阅读。

而在LDAP中则通过"distinguished name"(简称"dn")来表示文件,

通常像下面这样:

cn=John Smith,ou=Accounts,o=My Company,c=US

逗号**,**在这里表示级别分界线,并且从右向左阅读。

上述dn可以理解为:

   country = US
organization = My Company
organizationalUnit = Accounts
commonName = John Smith

3.功能特性

目录是为频繁查询但不频繁更新而设计的一个特殊的数据库。

不像其它常规数据库,它们不包含事件支持或回滚功能。

目录很容易复用以提供可用性和可靠性。

当目录被复用,允许临时的不一致直到得到最终同步。

目录是一个为查询、浏览和搜索而优化的专业分布式数据库,

它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样。

目录数据库和关系数据库不同,它有优异的读性能,但写性能差,

并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。

所以目录天生是用来查询的,就好象它的名字一样。

LDAP理解要点的更多相关文章

  1. 关于tarjan算法的理解

    理解要点如下 理解LOW[i]数组的迭代过程.. low[u]=min(dfn[v],dfn[u],low[v]); 理解这个..如果有环..那么后代就可以更新祖先 那么low[v]就有用了.. 那么 ...

  2. ref:LDAP入门

    ref:https://www.jianshu.com/p/7e4d99f6baaf LDAP入门 首先要先理解什么是LDAP,当时我看了很多解释,也是云里雾里,弄不清楚.在这里给大家稍微捋一捋. 首 ...

  3. LDAP 总结

    LDAP入门 首先要先理解什么是LDAP,当时我看了很多解释,也是云里雾里,弄不清楚.在这里给大家稍微捋一捋. 首先LDAP是一种通讯协议,LDAP支持TCP/IP.协议就是标准,并且是抽象的.在这套 ...

  4. (一)LDAP 简介

    一  LDAP  简介 LDAP是一种通讯协议,LDAP支持TCP/IP.协议就是标准,并且是抽象的.在这套标准下,AD(Active Directory)是微软出的一套实现.    AD 暂且把它理 ...

  5. 组合数取模Lucas定理及快速幂取模

    组合数取模就是求的值,根据,和的取值范围不同,采取的方法也不一样. 下面,我们来看常见的两种取值情况(m.n在64位整数型范围内) (1)  , 此时较简单,在O(n2)可承受的情况下组合数的计算可以 ...

  6. 02-线性结构3 Pop Sequence

    Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and p ...

  7. JS 函数作用域及变量提升那些事!

    虽然看了多次js函数作用域及变量提升的理论知识,但小编也是一知半解~ 这几天做了几道js小题,对这部分进行了从新的理解,还是有所收获的~ 主要参考书籍: <你不知道的JavaScript(上卷) ...

  8. [Bayesian] “我是bayesian我怕谁”系列 - Markov and Hidden Markov Models

    循序渐进的学习步骤是: Markov Chain --> Hidden Markov Chain --> Kalman Filter --> Particle Filter Mark ...

  9. 【Docker】(2)---仓库、镜像、容器

    [Docker](2)---仓库.镜像.容器     学习Docker,我觉得首先要了解的是仓库.镜像.容器到底是什么,他们有什么区别. 一.通俗理解 1.Docker 镜像 (images) 容器运 ...

随机推荐

  1. Android 图片框架

    1.图片框架:Picasso.Glide.Fresco 2.介绍: picasso:和Square的网络库能发挥最大作用,因为Picasso可以选择将网络请求的缓存部分交给了okhttp实现 Glid ...

  2. Linux基础命令---uptime

    uptime uptime指令用来显示系统运行多长时间.有多少用户登录.系统负载情况. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.SUSE.openSUSE. ...

  3. jenkins+Gitlab安装及初步使用

    安装包下载地址:https://packages.gitlab.com/gitlab/gitlab gitlab-cerpm 包国内下载地址: https://mirrors.tuna.tsinghu ...

  4. 使用NSURLSessionDownloadTask实现大文件下载-监听下载进度

    - 5.1 涉及知识点(1)创建NSURLSession并设置代理,通过NSURLSessionDownloadTask并以代理的方式来完成大文件的下载 //1.创建NSURLSession,设置代理 ...

  5. MySQL(3):SELECT语法

    一,数据库语句 数据库数据是通过DML语句管理数据库数据,包括: INSERT (添加数据语句) UPDATE (更新数据语句) DELETE (删除数据语句) 1:INSERT (添加数据语句) I ...

  6. zookeeper 异常 :stat is not executed because it is not in the whitelist. Connection closed b

    1 .问题 1.启动 zookeeper 后 用指令:  telnet 127.0.0.1 2181 连接 提示输入指令 :stat 后报错,然后关闭连接 2.问题解决: 修改启动指令 zkServe ...

  7. Pycharm, 添加requirements.txt

    引用:https://www.jetbrains.com/help/pycharm/managing-dependencies.html 1) 2) 3)

  8. ES6解构赋值的简单使用

    相较于常规的赋值方式,解构赋值最主要的是'解构'两个字,在赋值的过程中要清晰的知道等号右边的结构. 先简单地看一下原来的赋值方式. var a=[1,2] 分析一下这句代码的几个点: (1)变量申明和 ...

  9. 为什么使用卡尔曼滤波器?(Youtube视频学习)

    视频资料网址:https://www.youtube.com/watch?v=mwn8xhgNpFY&list=RDCMUCgdHSFcXvkN6O3NXvif0-pA&index=4 ...

  10. SWPUCTF_2019_login(格式字符串偏移bss段)

    题目的例行检查我就不放了,将程序放入ida中 很明显的值放入了bss段的格式字符串,所以我们动态调试一下程序 可以看到ebp这个地方0xffd0dd17-->0xffd0dd38-->0x ...