1、LDAP就是 light DAP, 轻量级目录访问协议

    LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写
   
LDAP标准实际上是在X.500标准基础上产生的一个简化版本

这是一个开放的协议, 具体的实现有 Netscape LDAP, Novell NDS, MS AD等等目录服务,这3个是使用最广,影响最大的。Netscape LDAP server主要使用在unix或类unix系统上, MS AD自然只能在windows上,NDS是唯一一个跨平台的产品。注意: LDAP本身是平台无关的。
举例: LDAP内必须先有user类, 然后用user类创建user对象(一般缺省有的),我们才能创建具体的用户账号(实例化), schema中user对象被指定了有哪些属性,我们创建账号的时候才能给账号哪些属性,例如 schema中user对象没有别名属性,我们就不能给账号起别名。
LDAP特点

  • LDAP的结构用树来表示,而不是用表格。正因为这样,就不能用SQL语句了
  • LDAP可以很快地得到查询结果,不过在写方面,就慢得多
  • LDAP提供了静态数据的快速查询方式
  • Client/server模型
            Server 用于存储数据,Client提供操作目录信息树的工具,这些工具可以将数据库的内容以文本格式(LDAP 数据交换格式,LDIF)呈现在您的面前

  • LDAP是一种开放Internet标准,LDAP协议是跨平台的
    的Interent协议

它是基于X.500标准的, 与X.500不同,LDAP支持TCP/IP(即可以分布式部署)

 
 
几个很重要的概念:
---------------------------------------------

dn :一条记录的位置                 类似数据库中的主键,唯一标识
dc :一条记录所属区域              类似DB
ou :一条记录所属组织

cn/uid:一条记录的名字/ID     类似于表里面的ID
---------------------------------------------
 
 
LDAP记录的详细信息
dn:cn=stan,ou=linux,ou=computer,dc=ourschool,dc=org    唯一标识
objectClass:organizationalPerson

cn:stan    
LDAP每个属性一般可以具有多个值
cn:小刀     
LDAP每个属性一般可以具有多个值
sn:小刀

description:a good boy
备注:
“cn=stan,ou=linux,ou=computer,dc=ourschool,dc=org”是一个整体,是属性dn的值。
LDAP每个属性一般可以具有多个值,用“cn=stan”或“cn=小刀”都可以找到记录
 
图例:
 
 
来源:
http://www.chinaunix.net/old_jh/49/593660.html
http://blog.sina.com.cn/s/blog_6151984a0100ey3z.html
http://blog.csdn.net/saiya_kwok/article/details/4532351

摘录 LDAP的更多相关文章

  1. LDAP注入

    理解LDAP与LDAP注入 0x01 LDAP简介 查阅了一些网上的资料,读了好久还是觉得理解起来很困难,感觉还是不够干,之后看到的一个博客http://www.chinaunix.net/old_j ...

  2. Centos 7 vsftpd ldap 配置

    #ldap 安裝配置 环境Centos7#安装 yum install -y openldap openldap-clients openldap-servers migrationtools pam ...

  3. ABP源码分析四十六:ABP ZERO中的Ldap模块

    通过AD作为用户认证的数据源.整个管理用户认证逻辑就在LdapAuthenticationSource类中实现. LdapSettingProvider:定义LDAP的setting和提供Defaut ...

  4. MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录

    注:文章内容都是摘录性文字,自己阅读的一些笔记,方便日后查看. MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是 ...

  5. [原创]django+ldap+memcache实现单点登录+统一认证

    前言 由于公司内部的系统越来越多,为了方便用户使用,通过django进行了单点登录和统一认证的尝试,目前实现了django项目的单点登录和非django项目的统一认证,中间波折挺多,涉及的技术包括dj ...

  6. [原创]django+ldap实现单点登录(装饰器和缓存)

    前言 参考本系列之前的文章,我们已经搭建了ldap并且可以通过django来操作ldap了,剩下的就是下游系统的接入了,现在的应用场景,我是分了2个层次,第一层次是统一认证,保证各个系统通过ldap来 ...

  7. [原创]django+ldap实现统一认证部分二(python-ldap实践)

    前言 接上篇文章 [原创]django+ldap实现统一认证部分一(django-auth-ldap实践) 继续实现我们的统一认证 python-ldap 我在sso项目的backend/lib/co ...

  8. [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)

    前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 ,ldap部署相关,ldap双机\LAM配置管理\ldap备份还原,目前来说,我们已经有了高可用性的ldap环境了 ...

  9. ldap部署相关,ldap双机\LAM配置管理\ldap备份还原

    前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 就单点登录实现过程进行详细记录,ldap是一切的基础,可以把它理解成一个读强写弱的文件类型数据库,统一认证我们通过 ...

随机推荐

  1. dict和set背后的实现原理

    # 先说结论 ''' dict的性能远大于list 在list中,随着数据的增大,时间也会增大 在dict中,随着数据的增大,时间没有变化 ''' # 目的:我们研究为什么dict的性能远大于list ...

  2. 【Android开发日记】之入门篇(三)——Android目录结构

    本来的话,这一章想要介绍的是Android的系统架构,毕竟有了这些知识的储备,再去看实际的项目时才会更清楚地理解为什么要这样设计,同时在开发中遇到难题,也可以凭借着对Android的了解,尽快找出哪些 ...

  3. Appium+python自动化9-SDK Manager【转载】

    前言 SDK Manager到有哪些东西是必须安装的呢? 一.SDK Manager 1.双击打开SDK Manager界面

  4. HDU 1171.Big Event in HDU-动态规划0-1背包

    Big Event in HDU Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  5. (6)sql/puls

    host   在sql/puls中使用cmd或linux操作系统的命令

  6. Mac上Git的安装与简单使用

    一.安装: Git下载地址: http://git-scm.com/downloads/ 下载Git.配置Git: http://blog.csdn.net/reactor1379/article/d ...

  7. 【转载】uboot的工具mkimage使用方法

    uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件. mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字 ...

  8. 一种用XAML写Data Converter的方式

    在WPF程序中,数据绑定是非常常用的手段.伴随着数据绑定,我们通常还需要编写一些Converter.而编写Converter是一件非常枯燥的事情,并且大量的converter不容易组织和维护. 今天在 ...

  9. 写了一个远程桌面管理的Visual Studio扩展程序

    最近看了写Visual Studio扩展相关的一些资料,周末写了一个远程桌面管理器的扩展程序来练练手,由于和VisualStudio集成了,无需切换窗口,用起来还是觉得挺方便的. 关于远程桌面管理器的 ...

  10. MySQL索引,MySQL中索引的限制?

    MySQL中索引的限制: 1.MyISAM存储引擎引键的长度综合不能超过1000字节: 2.BLOB和TEXT类型的列只能创建前缀索引: 3.MySQL目前不支持函数索引: 4.使用!= 或者< ...