Active directory 为什么不';t公司是否将LDAP用作非用户的中央存储库?

Active directory 为什么不';t公司是否将LDAP用作非用户的中央存储库?,active-directory,ldap,adam,Active Directory,Ldap,Adam,在我工作过的每一家大公司中,他们都使用LDAP作为访问用户信息中央存储库的一种方式,但很少有人尝试将模式扩展到包含非从inetOrgPerson派生的对象类 Microsoft的Active Directory提供了广泛的模式扩展,但很少有商业产品利用LDAP的功能 是因为大多数LDAP开发人员不知道如何在用户之外建模吗?发现它的价值,但只是没有深入思考?您是否尝试过,但遇到了性能问题?还有其他原因吗?我认为这是由于A)使用LDAP的复杂性(比SQL高得多)和B)您的产品将完全绑定到LDAP。也

在我工作过的每一家大公司中,他们都使用LDAP作为访问用户信息中央存储库的一种方式,但很少有人尝试将模式扩展到包含非从inetOrgPerson派生的对象类

Microsoft的Active Directory提供了广泛的模式扩展,但很少有商业产品利用LDAP的功能


是因为大多数LDAP开发人员不知道如何在用户之外建模吗?发现它的价值,但只是没有深入思考?您是否尝试过,但遇到了性能问题?还有其他原因吗?我认为这是由于A)使用LDAP的复杂性(比SQL高得多)和B)您的产品将完全绑定到LDAP。也就是说,在运行LDAP的大型组织之外,它将没有市场。花更少的钱和精力,我可以构建一个在任何地方都能运行的应用程序

现在,专门为需要访问其他LDAP数据的组织编写的内部应用程序就不同了。但很明显,你对它们的了解会少一些,因为它们没有商业化销售。

  • 我一直认为LDAP对于网络管理员来说太高,对于软件开发人员来说太低。他们两人似乎对此都不满意
  • 人们认为,由于几乎每个企业应用程序都将使用关系数据库,因此再添加一个数据源会降低应用程序的可用性和可靠性
  • 在LDAP中创建自定义模式的障碍仍然很大。在LDAP服务器中,您必须将模式文件放在模式目录中,通常具有根目录或管理权限,以重新启动LDAP服务器;而当前的ORMs可以在应用程序启动时创建、更新或验证关系数据库模式

我个人认为这是因为LDAP是一个目录,而不是数据库。目录有助于查找人员及其相关数据,但对于跟踪高度相关的数据却不是特别好——这正是我们其他数据的外观。事实上,我们使用LDAP实际上是作为“人”数据的前端,将大量数据流合并到单个目录视图中。我们在后端数据库中仍然有“人员”数据以及其他机构数据,并且只选择LDAP(在我们的例子中是ADAM)作为前端,以便方便地查找合并的“人员”数据。现在,我们将web服务作为访问这些数据的一种手段,我不确定继续使用LDAP是否有意义(除了支持尚未更新的现有服务)。

我认为LDAP针对快速、频繁的读取进行了高度优化。我认为它们不会扩展到事务性系统


关系模型及其在SQL中的表达式是一个强大的东西。我认为它不会轻易被LDAP或对象数据库取代

我们已经为一些拥有6500万条LDAP记录的公司做了工作,但这些记录中没有一条是供人使用的

数据包括多种项目,主要用于设备,包括: *DHCP *域名系统 *Mac地址 *位置 *锡 *烙印 *模型 *等等


-jim

您能更详细地描述您的实现和其他注意事项吗?非常感谢为扩展inetOrgPerson以外的原因定制模式的示例。在我自己的测试中,我发现使用非用户对象类扩展LDAP比使用关系数据库更有效。遗憾的是,许多开发人员都生活在过去,需要重新考虑过时的假设。实现自己的RBAC备份存储,而不是与LDAP集成,似乎是生活在过去步骤中的一个。。。以及网络服务级别。我也将其用于产品目录,因为我们的产品是分层的。LDAP广泛用于Internet域和X509证书目的。