LDAP用于什么?

165
我知道LDAP被用于提供一些信息和帮助实现授权。但LDAP还有哪些其他用途呢?
17个回答

283

我将专注于为何使用LDAP,而不是什么是LDAP。

使用模型类似于人们如何使用图书馆卡或电话簿。当您有一个需要“一次写入/更新,多次读取/查询”的任务时,您可能会考虑使用LDAP。LDAP旨在为大规模数据集提供极快的读取/查询性能。通常,您只想为每个条目存储少量信息。添加/删除/更新性能相对较慢,因为假设您不经常进行“更新”操作。

想象一下,您有一个网站,拥有100万注册用户,每秒钟有数千个页面请求。如果没有LDAP,即使是静态页面查看,每次用户点击页面时,您也可能需要与数据库交互,以验证用户ID及其数字签名是否适用于此登录会话。显然,用于用户验证的数据库查询将成为瓶颈。通过使用LDAP,您可以轻松卸载用户验证并获得显着的性能改进。本质上,在此示例中,LDAP是用于增强性能的另一个优化层,而不是替换任何数据库功能。

LDAP不仅适用于用户验证,任何具有以下属性的任务都可能是LDAP的良好用例:

  1. 您需要多次定位一个数据,并且希望快速完成

  2. 您不关心不同数据之间的逻辑和关系

  3. 您不经常更新,添加或删除数据

  4. 每个数据条目的大小都很小

  5. 您不介意将所有这些小数据集中在一个地方


11
非常好的描述!你回答了我每次阅读LDAP时一直在问自己的问题:为什么?谢谢! - DhafirNz
2
LDAP适用于互联网应用程序吗?在非企业内部应用程序的意义上呢? - pinkpanther
1
有没有LDAP的替代方案? - Shekhar Reddy
9
“你说‘通过使用LDAP,你可以卸载用户验证’是什么意思?”使用LDAP时,您向LDAP服务器发出查询,该服务器(可能)使用数据库:这不是相同的瓶颈吗? - Marco Stramezzi
@user3307545 很棒的描述!我很喜欢。你没有给出教科书式的答案,而是解释了它在实时中的使用。谢谢! - Alekya

76

这是一个相当广泛的问题。

LDAP是一种用于访问目录的协议。目录包含对象,通常与用户、组、计算机、打印机等相关;公司结构信息(尽管可以扩展它并将任何东西存储在其中)。

LDAP提供了查询方法,用于在目录中添加、更新和删除对象(还有很多其他的方法,但这些是核心方法)。

LDAP不能提供数据库;数据库提供对其自身的LDAP访问,而不是反过来。 它远不止注册。


51

LDAP 服务器和 LDAP 协议是一种数据存储或数据库。虽然不是关系型数据库,但它是一个专门用于存储数据的地方,并且在读取方面进行了优化以提高效率,而非写入。它不支持事务。

实际上,它非常流行的一个用途是存储凭证,但这并不是它唯一的目的,也不是它最初的目的。


你能澄清可能的其他目的吗? - weno

33

LDAP即轻量级目录访问协议。正如该名称所示,它是一种用于访问目录服务的轻量级协议,具体来说是基于X.500的目录服务。LDAP运行在TCP/IP或其他面向连接的传输服务之上。 LDAP的详细信息定义在RFC2251“轻量级目录访问协议(v3)”以及组成技术规范RFC3377的其他文件中。本节从用户角度概述了LDAP。

目录中可以存储哪些信息?LDAP信息模型基于条目。一个条目是具有全局唯一区别名称(DN)的属性集合。 DN用于无歧义地引用该条目。 条目的每个属性都具有类型和一个或多个值。 类型通常是助记符字符串,例如cn表示常见名称,或mail表示电子邮件地址。值的语法取决于属性类型。 例如,cn属性可能包含值Babs Jensen。 邮件属性可能包含值babs@example.comjpegPhoto属性将包含JPEG(二进制)格式的照片。

信息如何排列?在LDAP中,目录条目按分层树状结构排列。

enter image description here


17

LDAP是轻量级目录访问协议。基本上,它是一种用于从数据库(或其他来源)访问数据的协议,主要适用于大量查询和最小更新的情况(例如,您可以用它来处理登录信息)。

LDAP本身并不提供数据库,只提供查询数据库中数据的方式。


17

LDAP的主要思想是将用户的所有信息(联系方式、登录名、密码、权限)集中在一个地方,以便网络管理员更容易地进行维护。例如:

  • 可以使用相同的登录名和密码登录Intranet和本地计算机。
  • 给一组用户分配特定的权限。例如,一些人可以访问Intranet上的某些页面,或者共享驱动器上的某些特定目录。
  • 在Outlook等应用程序中获取公司内所有人员的联系详细信息。

15
不不不,那是目录的功能,而不是LDAP的功能。这就像说SQL的功能是提供数据库一样,它并不是这样的。目录提供LDAP访问,而不是相反。 - blowdart
5
我必须同意,这是混淆了数据存储和访问协议。 - geoffc
@blowdart 主要这个答案非常有用和简洁,但是根据我收集到的信息,它是针对LDAP服务器的。 - Geeocode
1
各位,你们在争论味噌汤不是一种汤。从技术上讲,这是正确的。但出于实际原因,答案非常好,因为它简单地解释了“模糊的LDAP事物”在哪里和为什么使用,抛开了技术解释。在那个世界里,大多数人不知道“目录”是什么,或者数据库如何工作。所以,简单地在服务器上运行LDAP允许存储所有网络凭据并为所有域用户提供服务。是的,有依赖于数据库,棘手的包装器可以在同一台服务器上提供Unix和Windows凭据,但对于普通用户来说,这些都无关紧要。 - Asdf

9
使用LDAP的主要优点是整个组织的信息可以集中到一个中央存储库中。例如,与其为组织内的每个组管理用户列表,可以使用LDAP作为可从网络上任何位置访问的中央目录。由于LDAP支持安全套接字层(SSL)和传输层安全性(TLS),因此可以保护敏感数据免受窥视。
LDAP还支持多种后端数据库来存储目录。这使管理员可以灵活地部署最适合服务器要传达的信息类型的数据库。由于LDAP还具有明确定义的客户端应用程序编程接口(API),因此启用LDAP的应用程序数量众多,并且数量和质量不断增加。

7
我有机会从零开始为学校启动一个关于LDAP的项目,但在了解LDAP之前,我必须了解什么是目录。有许多种目录(最常用的目录是Novell和Windows),您可以在维基百科中了解目录的相关信息。
LDAP是与目录通信的协议,我发现的最好的书之一是这本书

7
  • LDAP的主要用途是提供更快的数据检索。它充当一个中央存储库,用于存储用户详细信息,可以被各种应用程序同时访问。

  • 如果我们需要多次读取数据但很少更新数据,则LDAP是更好的选择,因为其结构使得读取更快。但是,在LDAP中更新(添加/更新或删除)数据比较麻烦。

  • LDAP提供的安全性:LDAP可以与SSL和TLS一起使用,因此可用于处理敏感信息。

  • LDAP还可以与多个数据库一起使用,提供更大的灵活性,以选择最适合我们环境的数据库。

  • 可作为在主服务器和副本服务器之间同步信息的更好选择。
  • 除了支持数据恢复功能外,LDAP还允许我们将数据导出为LDIF文件,这些文件可以被市场上的各种软件读取。

6

LDAP只是一种访问结构化信息的协议。LDAP标准化了本地和远程访问信息,而在数据库的情况下,只有标准化的本地访问和专有的远程访问。

LDAP服务器优化了搜索操作,而数据库优化了事务(插入/删除)。

有关更多信息,请参阅以下链接:

http://www.itszero.in/2013/09/what-is-ldap-ad-adam.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接