使用LDAP链接身份验证

时间:2012-04-13 09:15:46

标签: ldap openldap

我有以下两个ldap(slapd)服务器:

company.com

  • OU =用户,DC =公司,DC = com的
    • UID = employee1
    • UID =和Employee2

opensourceproject.com

  • OU =用户,DC = opensourceproject,DC = COM
    • UID = member1中
    • UID = member2

我想要实现的是,客户端(bugzilla,svn等)可以透明地为两台服务器上的用户查询 opensourceproject.com ldap。查询可以是:“check authenticof uid = employee1”,由客户端发送到 opensourceproject.com ldap服务器。服务器现在应该查看他的列表并查看用户是否可用,如果没有链接到 company.com ldap并查看那里,如果存在:返回结果。

有可能实现这一目标吗?大多数客户需要一个搜索库才能找到该成员,所以我可能会在 ou = users,dc = opensourceproject,dc = com 上搜索,公司上不存在.com 服务器,所以我不知道如何连接这两棵树。如果我使用空的搜索库,那会有用吗?我想我可能遇到各种各样的绑定问题。

是否可以使用ldap进行此操作?如果是,怎么样?

1 个答案:

答案 0 :(得分:2)

至少存在四种可能的解决方案:

  • LDAP客户端必须执行两次搜索,一次搜索的基本对象与一台服务器上的用户位置相对应,另一次搜索的基本对象与另一台服务器上的用户位置相对应;必须为每个服务器调整要检索的搜索范围,过滤器和属性。这个解决方案虽然可行,但形式很差,因为LDAP客户端必须知道两组不同的信息(每个服务器一组),这使得解决方案不可扩展,易碎且易碎。还有政策问题:如果两个服务器都存在身份验证ID,应该使用哪种身份验证?
  • 使用支持DN映射的LDAP代理服务器,其中代理服务器可以将dc=opensourceproject,dc=com的查询转换为dc=company,dc=com的查询。这样的产品可以从UnboundID购买。上述政策问题适用。
  • 使用同步服务器合并两台服务器上的数据,并将结果存放在LDAP客户端查询的第三台服务器中。然后,上述策略问题由同步服务器管理。
  • 手动合并两台服务器上的数据。
相关问题