Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LDAP解决了什么问题?_Ldap - Fatal编程技术网

LDAP解决了什么问题?

LDAP解决了什么问题?,ldap,Ldap,我在参与的许多项目中都接触过LDAP,但说实话,我并不真正理解它。我原以为它只是个人目录,但后来我发现它可以包含分层结构中的任何对象 我在我的盒子里安装了openldap,我找到了很多关于安装的教程 什么是LDAP?LDAP是正确选择的场景有哪些?使用LDAP时,我应该知道哪些LDAP概念?LDAP的优点是什么?是否只是因为旧应用程序使用了它才使用它?互联网上有没有好的医生解释这些问题 更新: 补充了我找到的答案,其中包含了对像我这样的LDAP新手的快速入门指南。LDAP只是一个协议,wikip

我在参与的许多项目中都接触过LDAP,但说实话,我并不真正理解它。我原以为它只是个人目录,但后来我发现它可以包含分层结构中的任何对象

我在我的盒子里安装了openldap,我找到了很多关于安装的教程

什么是LDAP?LDAP是正确选择的场景有哪些?使用LDAP时,我应该知道哪些LDAP概念?LDAP的优点是什么?是否只是因为旧应用程序使用了它才使用它?互联网上有没有好的医生解释这些问题

更新
补充了我找到的答案,其中包含了对像我这样的LDAP新手的快速入门指南。

LDAP只是一个协议,wikipedia文章对此进行了充分的解释


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

此链接将解释LDAP

我们在办公室使用LDAP在公司范围内查找电子邮件地址。我们也将其用作内部应用程序的单一源登录服务。

LDAP具有O(1)读取性能,以交换O(更糟糕的)写入性能。它非常适合频繁访问但很少更改的数据—人员目录、机器名称和地址等。(因此缩写为:轻量级目录访问协议。)


LDAP是一个正确的选择,因为使用非关系型数据库的痛苦(开发人员熟悉度降低和奇怪的性能特征)小于盲目快速读取访问的收益。

LDAP是一种访问协议;它只为您试图查找应用程序的底层技术提供了一个API—a。OpenLDAP是一种开源目录服务;Sun有另一个名为OpenDS的实现。Active Directory和Novell NDS是该领域常见的另外两种

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

什么是LDAP?LDAP是正确选择的场景有哪些

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

  • 电话簿(按姓名或电话号码查找)
  • 图书馆中的标题(按标题、作者等查找)
  • 建筑物中的租户(按楼层、套房、姓名等查看)
等等


请注意,LDAP本身只是一个协议,不提供任何实际存储——同样地,HTTP并不意味着您是否使用Apache、Jetty、Tomcat、Mongrel等作为web服务器。(LDAP的一个普遍问题是,名称的重复使用会使人混淆,从而表示不同的东西。Wikipedia对此有

在我的一个旧工作场所中,我们将其用作我们的主要用户身份验证系统

这反过来又为我们的各种系统提供了他们所属的部门、应该在哪里安装他们的主目录、联系信息、员工管理等信息


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

我是一名兼职学生。我的课程鼓励(阅读)许多小组项目

我使用openLdap和phpLdapAdmin来控制对Subversion和Mercurial repos、Trac项目、Hudson等的访问。安装起来并不容易,但在管理方面节省的时间是天赐的


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

DIT是一种分层描述方案,非常适合于B-树算法,在大多数情况下会产生巨大的搜索性能。像OpenDS这样的目录服务器在微秒内返回索引搜索,而RDBMS系统则慢得多。目录服务器(通常称为LDAP服务器)交换资源(RAM、CPU)以获得快速读取响应。RDBMS系统在相关数据的管理方面提供了更强大的功能。需要少量或零更新的速度、简单性和小型网络协议?使用目录服务器。需要数据管理和挖掘功能,和/或数据库的高变化率,以及数据之间定义的关系方面吗?使用RDBMS(MySQL是您最好的选择)。

我喜欢反复强调的一个观点是LDAP是一个位于持久性存储之上的应用程序,而数据库是一个持久性存储。两者都可用于存储用户信息

LDAP为您提供了一个在数据库中很难实现的层次结构。您可以在数据库中建立层次结构,但执行委派(这些行仅属于您)或行上的ACL等操作比较困难。因此,如果使用LDAP存储用户身份,则将安全问题从数据库中排除会更容易。试图在数据库中解决它是很奇怪的

同时,LDAP对于报告非常糟糕(将LDAP转换为DB以进行报告)。在树的深处存储需要快速搜索的属性可能会对性能造成问题(不要这样做,在旁边放一个DB,或者尝试通过重新设计DIT使查询平坦化)。在一个真正深入的DIT中到处存储属性只是糟糕的LDAP或系统设计,但如果您绑定到供应商产品或遗留应用程序,有时这是不可避免的。