LDAP协议

news2024/12/29 10:25:18

目录

  • LDAP是什么?
    • 什么是目录服务?
    • 什么是LDAP认证?
  • 为什么要用LDAP?
    • LDAP能做什么?
    • 为什么用LDAP做身份验证?
    • LDAP的产品&实现
  • LDAP基本模型
    • 目录树&名词解释
    • 分布式
  • 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的操作

  • 查询类操作:搜索、比较
  • 更新类操作:添加条目、删除条目、修改条目、修改条目名
  • 认证类操作:绑定、解绑
  • 其他操作:放弃、扩展操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/851705.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch:升级 Elasticsearch 最安全的方法

关于升级自己的 Elasticsearch 集群有很多种办法。很多涉及到滚动升级或需要重启集群。这是一个比较复杂的过程。一般来说,有两种可能发生的情况: 滚动升级(无停机时间)整个集群重新启动(一些停机时间) 如…

【Sa-Token】9、Sa-Token实现在线用户管理功能

尽管框架将大部分操作提供了简易的封装,但在一些特殊场景下,我们仍需要绕过框架,直达数据底层进行一些操作。 1、官方文档 会话查询 https://sa-token.cc/doc.html#/up/search-sessionSa-Token提供以下API助你直接操作会话列表&#xff1a…

电脑选购:6000元左右买到性价比超高的笔记本电脑,准大学生的购机指南

目录 一、ThinkBook 14 二、华硕灵耀14 2023 四、宏碁掠夺者擎Neo 五、惠普(HP)暗影精灵9 六、联想拯救者R7000P 2023 每年高考毕业季,许多即将进入大学的毕业生都会面临新电脑的选择,而对于喜欢玩游戏的同学,一般…

1分钟快速将智能聊天机器人接入国产ChatGLM开源模型

“ 了解如何在短短1分钟内,让智能聊天机器人与国产ChatGLM开源模型无缝连接,为你的应用增添智能交流能力!” 01 — 昨天发布ChatGPT微信助手体验群后,见《ChatGPT 微信助手上线!问答更便捷,功能持续升级中。…

Java 代码重试实现方式

Java 代码重试实现方式 一.方法内直接自动重试二.静态代理方式1.启动类2.接口3.实现4.静态代理5.单元测试类 三.JDK 动态代理1.代理类2.单元测试 四.CGLIB 动态代理1.动态代理类2.单元测试 五.手动 AOP1.自定义注解2.重试注解切面3.测试类4.单元测试方法 六.Spring Retry1.测试…

固态硬盘接口对比

固态硬盘接口对比 M.2接口固态硬盘固态硬盘接口固态硬盘尺寸接口兼容性 M.2接口 M.2接口,也称为NGFF(Next Generation Form Factor),是一种计算机拓展接口规范。常见的M.2接口有A key、B key、E key和M key,不同的key…

书单背景怎么制作?分享一个实用的工具

在今天的信息时代,越来越多的人通过阅读来丰富自己的知识和技能。为了方便大家查找阅读材料,书单背景的制作变得越来越重要。本文将介绍书单背景的制作方法以及需要注意的问题。 书单背景的制作方法 1. 使用在线制作工具 在线制作工具如Canva提供了许多…

比较研发项目管理系统:哪个更适合您的需求?

项目管理系统对于保持项目进度、提高效率和确保质量至关重要。然而,市场上众多的研发项目管理系统让许多团队陷入选择困难。本文将对几个主流的研发项目管理系统进行深入分析,以帮助您找到最适合您团队的解决方案。 “哪个研发项目管理系统好用好&#x…

【MySQL】检索数据使用数据处理函数

函数 与其他大多数计算机语言一样,SQL支持利用函数来处理数据。函数一般是在数据上执行的,它给数据的转换和处理提供了方便。 函数没有SQL的可移植性强:能运行在多个系统上的代码称为可移植的。多数SQL语句是可移植的,而函数的可…

【Archaius技术专题】「Netflix原生态」动态化配置服务之微服务配置组件变色龙

前提介绍 如果要设计开发一套微服务基础架构,参数化配置是一个非常重要的点,而Netflix也开源了一个叫变色龙Archaius的配置中心客户端,而且Archaius可以说是比其他客户端具备更多生产级特性,也更灵活。*在NetflixOSS微服务技术栈…

CSS 的选择器有哪些种类?分别如何使用?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 元素选择器(Element Selector)⭐ 类选择器(Class Selector)⭐ ID 选择器(ID Selector)⭐ 后代选择器(Descendant Selector)⭐ 子元素选择器&a…

本地开发 npm 好用的http server、好用的web server、静态服务器

好用的web server总结 有时需要快速启动一个web 服务器(http服务器)来伺服静态网页,安装nginx又太繁琐,那么可以考虑使用npm serve、http-server、webpack-dev-server。 npm serve npm 的serve可以提供给http server功能&#…

外贸行业三大客户管理软件的特点?

外贸企业在开拓国际市场的过程中,经常会遇到客户信息混乱、销售流程复杂、市场竞争激烈等痛点。因此,外贸企业急需一款CRM系统来帮助他们管理客户信息、跟进销售机会等。这里有一份外贸客户管理软件排名,希望对您有所帮助。 Zoho CRM Zoho …

Nacos基本应用

Nacos 基本应用 Nacos 提供了 SDK 和 OpenAPI 方式来完成服务注册与发现等操作,SDK 实际上是对于 http 请求的封装。 微服务架构的电子商务平台,其中包含订单服务、商品服务和用户服务。可以使用 Nacos 作为服务注册和发现的中心,以便各个微…

aijs 盒子出血

效果演示 盒子出血演示 1.左下点 2.左上点 3.上左点 var doc activeDocument; var pt 72 / 25.4; var cx 3 * pt;var marks []; for (var i 0; i < doc.selection.length; i) {var shape doc.selection[i];if (shape.typename GroupItem && shape.pageItems.…

2023年深度学习最新研究成果

LLMs领域 AGI领域 无剑芯片设计平台 三级标题 四级标题 五级标题 六级标题

使用fopen等标准C库来操作文件

fopen 需要的头文件&#xff1a; #include <stdio.h> 函数原型&#xff1a; FILE *fopen(const char *pathname, const char *mode); 参数&#xff1a; pathname: 文件路径mode: “r” &#xff1a;以只读方式打开文件&#xff0c;该文件必须存在。“w” &#xff…

省电模式稳定电压显示IC32×4 LCD显示驱动芯片

简述 VK1C21A是一个点阵式存储映射的LCD驱动器&#xff0c;可支持最大128点&#xff08;32SEGx4COM&#xff09; 的LCD屏&#xff0c;也支持2COM和3COM的LCD屏。单片机可通过3/4个通信脚配置显示参数和发 送显示数据&#xff0c;也可通过指令进入省电模式。具备高抗干扰&a…

攻防演练的开局之战,泛资产暴露面检测

原文地址 全国信息安全攻防演练&#xff0c;已经蓄势待发。在网络安全的棋盘上&#xff0c;新型攻击手段不断涌现&#xff0c;不仅影子资产成为攻击的目标&#xff0c;邮件钓鱼、代码和配置文件泄露&#xff0c;甚至关联的供应链公司的安全缺陷都可能成为攻击者钻营的突破口。因…

AirServer2023最新Mac苹果电脑系统投屏软件

AirServer是一个Mac专用投屏工具&#xff0c;功能强大&#xff0c;并且可以通过网络和其他平台同步视频内容。可以使用多个设备进行投屏&#xff0c;快速查看同一局域网内的视频。支持的设备&#xff1a;苹果系统。支持 Windows、 Mac、 Android、 iOS、 windows平台。通过这款…