LDAP解决什么问题?

在我参与过的很多项目中,我一直和LDAP保持联系,但事实是,我并不了解它。 我认为这只是一个人目录,但是我发现它可以包含任何分层结构的对象。

我在我的盒子中安装了openldap,并且发现了许多关于安装的教程。

什么是LDAP? LDAP是正确的select的情况是什么? 我应该知道,LDAP的概念是什么? LDAP的优点是什么? 只是因为旧的应用程序使用它吗? 互联网上的任何地方都有很好的文档解释所有这些问题吗?

更新 :补充答案我发现这个链接 ,其中包含像我这样的LDAP新手快速入门指南。

什么是LDAP? LDAP是正确的select的情况是什么?

LDAP的核心是访问适合存储在目录中的对象的协议。 是否“合适”是一个完全主观的决定,这个决定是由实施者决定的,但是通常这意味着许多对象的集合,每个对象都很less(或者从不)更新数据 ,每个对象都有一个明显或规范的查找方式:

  • 电话簿(按名称或电话号码查找)
  • 库中的标题(按标题,作者等查找)
  • 房屋租户(按楼层,套房,名称等)

等等。

请注意,LDAP本身只是一个协议,并不提供任何实际的存储 – 就像同样的方式,HTTP并不意味着你是否使用Apache,Jetty,Tomcat,Mongrel等。 作为networking服务器。 (LDAP的一个问题通常是混淆名称的复用,意味着不同的事情,维基百科有一个很好的章节 。)

DIT是一种层次化的描述scheme,它非常适合B-Treealgorithm,因此在大多数情况下会带来巨大的search性能。 像OpenDS这样的Directory Server在微秒内返回索引search,而RDBMS系统则慢得多。 目录服务器(通常称为LDAP服务器)交换资源(RAM,CPU)以实现快速读取响应。 RDBMS系统在pipe理有问题的数据方面提供了更多的function。 需要几个或零更新,简单,小networking协议的速度? 使用目录服务器。 需要数据pipe理和挖掘能力,和/或数据库之间定义的关系方面的高变化率? 使用RDBMS(MySQL是你最好的select)。

LDAP具有O(1)读取性能,以换取O(更差的)写入性能。 对于经常访问的数据来说,这是非常理想的,但是很less发生变化 – 人员目录,机器名称和地址等等。 (因此缩写为:轻量级目录访问协议。)

LDAP是正确的select,在使用非关系数据库(在降低开发人员的熟悉度和奇怪的性能特征方面)方面的痛苦小于盲目快速读访问的收益。

我喜欢的一个观点是LDAP是一个在持久性存储之上的应用程序,而数据库是一个持久性存储。 两者都可以用来存储用户信息。

LDAP为您提供了一个难以在数据库中执行的层次结构。 你可以在数据库中build立一个层次结构,但是做一些事情比如委派(这些行只属于你)或ACL上的行更难。 因此,如果使用LDAP来存储用户身份,将安全问题推送到数据库之外更容易。 试图在数据库中解决它是奇怪的。

与此同时,LDAP报告反对(将LDAP转换为数据库进行报告)非常糟糕。 在需要快速search的树中深入存储属性可能会对性能造成影响(不要这么做,请将数据库放在一边,或者尝试通过重新deviseDIT来平滑查询)。 在一个非常深的DIT中存储属性到处都是很糟糕的LDAP或系统devise,但有时如果你绑定到供应商产品或传统的应用程序是不可避免的。

这个链接将解释LDAP http://blogs.oracle.com/raghuvir/entry/ldap

我们在公司范围内使用LDAP进行电子邮件地址查询。 我们也将其用作内部应用服务的单一源代码。

我在兼职和全职学生工作。 我的课程鼓励(阅读要求)许多小组项目。

我已经使用openLdap和phpLdapAdmin来控制对Subversion和Mercurial Repos,Trac项目,Hudson等的访问。安装起来并不容易,但是保存在pipe理中的时间是上帝派来的。

如果你的项目中有很多人需要使用不同的资源,那么这是一个很好的工具。

LDAP只是一个协议,维基百科的文章充分说明了它http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol

它是查询基础组织结构(如Microsoft的Active Directory)的一种方法。 您可以使用LDAP查询获取有关用户的各种信息,并使用它来设置应用程序权限等。

LDAP是一种访问协议; 它只提供一个API给你正在尝试寻找应用程序的底层技术 – 一个目录服务 。 OpenLDAP是开源的目录服务之一, Sun还有一个名为OpenDS的实现。 活动目录和Novell NDS是另外两个在该领域常见的。

该目录可用于存储有关任何资源的信息,以及资源之间的关系 – 例如用户对目录,打印机或networking访问设备的权限。

在我以前的工作场所之一,我们使用LDAP作为我们的主要用户authentication系统。

这反过来为我们的各种系统提供了信息。 他们属于,他们应该在那里安装他们的主目录,联系信息,员工pipe理。

不一定是由LDAP控制的,但是我们通过LDAP混合使用的其他事情是存在SQL用户,K4,samba和电子邮件帐户生成。

互联网上的任何地方都有很好的文档解释所有这些问题吗?

IBM发布了一本关于LDAP的优秀红皮书。 标题是: 了解LDAP – devise和实现

它可以从以前的链接下载。

看到这个链接:

http://www.umich.edu/~dirsvcs/ldap/doc/guides/slapd/1.html#RTFToC1

这就深刻地解释了LDAP:

例如,您可以在该文档中看到这个图像,

~dirsvcs/ldap/doc/guides/slapd/guide-51.gif