LDAP协议

LDAP是什么?

LDAP(Lightweight Directory Access Protocol)轻量目录访问协议,是一种用于访问和维护分布式目录服务的协议,是目录访问协议(DAP)的轻量级版本,是X.500(网络中目录服务的标准)的一部分。
LDAP被广泛用于在网络上查询和修改分布式目录信息,特别是用于企业和组织内部的用户认证、访问控制和资源管理。LDAP约定了Client与Server之间的交互格式、端口号、认证方式等内容。

什么是目录服务?

目录服务是一个特殊的数据库,按照树状存储信息,目录告诉用户某些内容在网络中的位置。
目录服务的数据类型主要是字符型。主要面向数据的查询服务,有很强的查询功能。
目录具有广泛复制信息的能力,适合于多个目录服务器同步/更新。树形只是推荐的底层数据存储方式,因为读多写少,所以其实也可以使用传统关系型数据库作为LDAP数据源。LDAP只是一个协议,约定的是C/S之间的通信方式,理论上服务器只要能处理LDAP协议规定操作返回正确结果即可。

什么是LDAP认证?

将用户数据放在LDAP服务器上,通过LDAP服务器上的数据对用户做认证处理。在用户登录时,每次拉取所有可通过的用户列表,再去做匹配,效率太低。将用户数据发给LDAP服务器,在服务器上做匹配,然后判断是否可以通过认证,效率较高。

为什么要用LDAP?

LDAP能做什么?

  1. 管理用户的身份认证、授权管理、用户组、域账号、按需实施组管理策略等。
  2. 管理服务器及客户端计算机账户、计算机域管理。
  3. 管理资源:打印机、文件共享服务、网络资源。

为什么用LDAP做身份验证?

  1. LDAP数据库在读写较多的情况下具有较高性能。
  2. 以树形结构存储数据,任一分支都可单独在服务器中分布式管理,有利于负载均衡,方便做跨区域的服务器部署。
  3. LDAP支持强认证方式,可以达到很高安全级别,根据UTF-8编码。
  4. LDAP根据schema的内容定义各种属性之间的丛书关系及匹配模式。在传统的结构化数据库mysql中添加一个字段,就需要在用户表中添加一个字段。但是在数据量极大的时候是很耗时间的,效率低,用户体验差,但是LDAP只需要在Schema中加入新的属性,不会由于用户的属性增多而形象查询性能。
  5. LDAP是开放的跨平台协议,只需通过简单配置,可大大降低重复开发和对接的成本。

LDAP的产品&实现

  1. Microsoft Active Directory(AD):AD是Windows操作系统中的目录服务,它支持LDAP协议以及其他认证和授权协议。核心:谁以什么权限访问什么。
    AD是如何实现的?
  2. OpenLDAP:开源LDAP实现,提供了一个高度可配置的LDAP服务器,支持广泛的操作系统与平台。是LDAP协议的参考实现之一,由OpenLDAP项目维护和开发。
  3. Oracle Internet Directory(OID):OID是Oracle提供的企业级LDAP目录服务,与Oracle数据库和其他Oracle产品紧密集成。

LDAP基本模型

目录树&名词解释

  1. 目录树(Directory Information Tree;DIT)
  2. 项,条目(Entry):目录中的每一行都可以叫做一项,不论是叶子节点还是非叶子节点。项包含一个唯一的DN,一些属性,一些对象类。
  3. 根节点项(Root DSE;Root DSA-specific Entry):每个LDAP服务器必须对外暴露一个特殊的项,叫做Root DSE,这个项的DN是空字符串。这个项是根节点,描述了LDAP服务器自身的信息和能力。
  4. 分辨名(dn;Distinguished Name):用于唯一标识一个项,以及在目录中的位置,可以和文件系统中的路径类比。从左到右,各部分依次向树根靠近。
  5. 组织单元(ou;Organization Unit):在dn中可能会包含ou=某部门。
  6. 相对分辨名(rdn;Relative Distinguished Name):rdn就是键值对,一个dn由多个rdn组成,rdn以逗号分隔。
    rdn与dn
  7. 域名组成(dc;Domain Component):格式是将完整的域名分成几个部分,yzdy.space变成dc=yzdy,dc=space,以逗号分隔。
  8. 对象类(objectClass):指定本项中必须(MUST Attributes)、可能包含的属性(MAY Attributes),相当于MySQL中的建表语句。包含某个object class的项必须满足其约定的规范。
  9. 属性(Attribute):由一个属性类型和一个或多个属性值组成。

分布式

LDAP目录可以分布式部署在多个服务器上,每个服务器可以具有总目录的复制版本,该版本会定期同步。LDAP服务器称为目录系统代理(DSA)。接收到来自用户的请求的DSA负责该请求,并根据需要传递给其他DSA,但要确保为用户提供一个统一的响应。

LDAP的操作

  • 查询类操作:搜索、比较
  • 更新类操作:添加条目、删除条目、修改条目、修改条目名
  • 认证类操作:绑定、解绑
  • 其他操作:放弃、扩展操作
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值