使用LDAP的私人和共享地址簿?

时间:2016-06-26 20:56:55

标签: ldap openldap

对于属于某个组织的一组用户,我想提供以下内容:

  • 每个用户都应该有一个私人通讯录
  • 每个用户都应该有权访问公司地址簿

我想知道如何在LDAP中对此场景进行建模,以便:

  • 用户使用某个客户端连接到LDAP服务器
  • 用户执行搜索某些字符串
  • 返回全球通讯录中的所有匹配条目
  • 返回用户私人通讯录中的所有匹配条目

使用单个查询搜索全球和私人通讯录是否可行?我想用户会在LDAP中提供他的路径作为DN,但全局地址簿将位于不同的DN。我想象这样的事情:

/
/OU=private-address-books
      /CN=user1
               /CN=entry1
...
/OU=global-address-book
      /CN=entryABC

那么有可能以某种方式自动引用用户私人地址簿下的全球通讯录吗?

1 个答案:

答案 0 :(得分:1)

你可能最好安排你的DIT结构更像: OU =私人,OU = Addressbooks ... OU =公共,OU = Addressbooks ... 然后,您可以使用ou = addressbooks作为baseDN进行搜索。

或者更好的是,为每个条目分配一个属性布尔类型private = TRUE。 所以对于所有的地址簿,

(objectClass=Entry)

私人

(&(objectClass=Entry)(private=TRUE))

最后,您可以使用ExtensibleMatch search filter搜索两个容器。

-Jim