1

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

公司网

  • ou=用户,dc=公司,dc=com
    • uid=员工1
    • uid=员工2

opensourceproject.com

  • ou=users,dc=opensourceproject,dc=com
    • uid=成员1
    • uid=成员2

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

有可能实现这一目标吗?大多数客户需要一个搜索库来查找成员,所以我可能会在ou=users,dc=opensourceproject,dc=com上进行搜索,这在company.com服务器上不存在,所以我不确定如何连接两棵树。如果我使用空的搜索库,那会起作用吗?我想我可能会遇到各种装订麻烦。

是否可以使用 ldap 进行这项工作?如果是,如何?

4

1 回答 1

3

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

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