LDAP的用途是什么?


150

我知道LDAP用于提供一些信息并帮助简化授权。

但是LDAP的其他用途是什么?

Answers:


258

我将重点介绍为什么使用LDAP,而不是LDAP。

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

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

LDAP不仅用于用户验证,任何具有以下属性的任务对于LDAP都是一个很好的用例:

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

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

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

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

  5. 您不介意将所有这些小数据放在一个集中的位置


9
非常好的描述!您回答了我每次阅读LDAP时都会问自己的一个问题:为什么?谢谢!
DhafirNz

1
LDAP是否适合Internet应用程序?非企业内部应用的意义上?
pinkpanther

1
ldap有其他选择吗?
Shekhar Reddy '18

6
您说“通过使用LDAP,您可以减轻用户验证的负担。”是什么意思?使用LDAP时,您将查询发布到(可能)使用数据库的LDAP服务器:这不是同一瓶颈吗?
Marco Stramezzi

@ user3307545非常好的描述!只是喜欢它。您没有给教科书答案,而是直接解释了它的实时使用方式,谢谢!
Alekya

70

这是一个相当大的问题。

LDAP是用于访问目录的协议。目录包含对象;通常与用户,组,计算机,打印机等有关的那些;公司结构信息(坦率地说,您可以扩展它并在其中存储任何内容)。

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

LDAP不提供数据库。数据库提供对自身的LDAP访问,而不是相反。这不仅仅是注册。


46

好吧,这里有LDAP服务器和LDAP协议。综合起来,它是一个数据存储或一个数据库。它不是关系型的,而是一个存储数据的地方,并且经过优化以提高读取效率而不是写入效率。它不支持交易。

现在,它正好在存储凭据方面非常流行,但这绝不是唯一的目的,而不是它的原始目的。


28

LDAP代表轻型目录访问协议。顾名思义,它是用于访问目录服务(尤其是基于X.500的目录服务)的轻量级协议。LDAP通过TCP / IP或其他面向连接的传输服务运行。LDAP的实质内容在RFC2251“轻型目录访问协议(v3)”和其他包含技术规范RFC3377的文档中定义。本节从用户的角度概述了LDAP。

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

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

在此处输入图片说明


16

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

  • 使用相同的登录名/密码在Intranet和本地计算机上登录。
  • 向一组用户授予特定权限。例如,某些用户可以访问Intranet的某些特定页面,或共享驱动器上的某些特定目录。
  • 例如,获取Outlook中公司人员的所有联系方式。

15
不不不。那是目录的功能,而不是 LDAP的功能。这就像说SQL的功能是提供数据库一样。不是 目录提供LDAP访问,而不是相反。
08年

4
我必须同意,这是误将数据存储用于访问协议。
geoffc

@blowdart这个答案主要是非常有用和简洁的,但是它是针对LDAP服务器的,因为我从周围的信息中收集到了这些信息。
Geeocode

1
伙计们,您是在说味o汤不是汤。从技术上讲,这是正确的。但是出于实际原因,答案非常好,因为它只是在解释技术原因的同时,解释了为什么使用“模糊的LDAP事物”的原因和原因。该世界上的大多数人都不知道“目录”是什么,也不知道DB的工作方式。简而言之,在服务器上运行LDAP可以将所有网络凭据存储在一个地方,并为所有域用户提供服务。是的,存在对数据库的依赖性,用于在同一服务器上提供unix和Windows凭据的棘手的包装程序,但它对简单用户没有任何帮助。
Asdf

15

LDAP是轻型目录访问协议。基本上,它是用于从数据库(或其他来源)访问数据的协议,并且最适合于大量查询和最小更新(例如,用于登录信息的某种类型)。

LDAP本身并不提供数据库,而只是一种查询数据库中数据的方法。


8

使用LDAP的主要好处是可以将整个组织的信息整合到一个中央存储库中。例如,LDAP可以用作从网络上任何位置均可访问的中央目录,而不是管理组织中每个组的用户列表。而且,由于LDAP支持安全套接字层(SSL)和传输层安全性(TLS),因此可以保护敏感数据免遭窥视。

LDAP还支持许多用于存储目录的后端数据库。这使管理员可以灵活地部署最适合服务器要传播的信息类型的数据库。由于LDAP还具有定义明确的客户端应用程序编程接口(API),因此启用LDAP的应用程序数量众多,并且数量和质量在不断增加。


7

我曾经有机会从头开始创建一个有关ldap的学校项目,但是在了解什么是ldap之前,我必须了解什么是目录,这里有很多(最常用的目录是Novell和Windows),在这里可以看到Wikipedia中的目录

ldap是与董事会沟通的协议,我发现的最好的书之一就是这本



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

  • 读取时间不同的数据,但是我们很少更新数据,因此LDAP是更好的选择,因为它的结构使其读取速度更快,但是在LDAP的情况下,更新(添加/更新或删除)的工作非常繁琐

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

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

  • 可能是在主服务器及其复制服务器之间同步信息的更好选择
  • LDAP除了支持数据恢复功能外,还使我们能够将数据导出到LDIF文件中,以供市场上各种软件读取。

4

好的,LDAP是访问结构化信息的协议(方式)。LDAP使用客户端-服务器模型,因此,LDAP客户端发出访问所需信息的请求。LDAP服务器不是以关系方式而是以属性和值对的形式存储信息。您可以使用LDAP将相同的特权分配给用户组或使用相同的凭据来访问多个服务。有关更多详细信息,请参见以下链接:http : //www.zytrax.com/books/ldap/ch2/


4

在Windows Server中,LDAP是用于访问Active Directory对象,用户身份验证,授权的协议。


3

为了使前面提到的其他定义更进一步,从这个角度来看...

LDAP是轻型目录访问协议。DAP是X.500的概念,在X.500中非常重!(这需要一个完整的7层ISO网络堆栈,基本上只实际实现了IBM的SNA协议)。

DAP还有许多其他方法。Novell有一个称为NDAP(NCP Novell核心协议是传输器,而NDAP是它读取目录的方式)。

顾名思义,LDAP只是一个非常轻量级的DAP。


2

LDAP代表轻型目录访问协议。它在Active Directory中用于传达用户查询。用户可以使用LDAP搜索和定位特定对象,例如域中的激光打印机。


0

LDAP还用于将您的凭据存储在网络安全系统中,并使用您的密码和解密密钥进行检索,从而使您可以访问服务。


0

轻型目录访问协议用于对用户进行身份验证以访问AD信息

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.