使用 LDAP 的私有和共享地址簿?
Private and shared address book with LDAP?
对于属于某个组织的一组用户,我想提供以下内容:
- 每个用户都应该有一个私人通讯录
- 每个用户都应有权访问公司通讯录
我想知道如何在 LDAP 中对这种情况建模,以便:
- 用户使用某个客户端连接到 LDAP 服务器
- 用户搜索一些字符串
- 返回全球地址簿中的所有匹配条目
- 返回用户私人通讯簿中的所有匹配条目
是否可以通过一次查询来搜索全球和私人地址簿?我猜用户会在 LDAP 中提供他的路径作为 DN,但全局地址簿将位于不同的 DN。我想象的是这样的:
/
/OU=private-address-books
/CN=user1
/CN=entry1
...
/OU=global-address-book
/CN=entryABC
那么有没有可能以某种方式自动引用用户私人通讯录下的全局通讯录?
您最好将 DIT 结构安排得更像:
ou=私有,ou=地址簿...
ou=public,ou=地址簿...
然后您可以使用 ou=addressbooks 作为 baseDN 进行搜索。
或者更好的是,为每个条目分配一个属性布尔类型 private=TRUE。
所以对于所有地址簿,
(objectClass=Entry)
私人
(&(objectClass=Entry)(private=TRUE))
最后,您可以使用 ExtensibleMatch search filter 来搜索两个容器。
-吉姆
对于属于某个组织的一组用户,我想提供以下内容:
- 每个用户都应该有一个私人通讯录
- 每个用户都应有权访问公司通讯录
我想知道如何在 LDAP 中对这种情况建模,以便:
- 用户使用某个客户端连接到 LDAP 服务器
- 用户搜索一些字符串
- 返回全球地址簿中的所有匹配条目
- 返回用户私人通讯簿中的所有匹配条目
是否可以通过一次查询来搜索全球和私人地址簿?我猜用户会在 LDAP 中提供他的路径作为 DN,但全局地址簿将位于不同的 DN。我想象的是这样的:
/
/OU=private-address-books
/CN=user1
/CN=entry1
...
/OU=global-address-book
/CN=entryABC
那么有没有可能以某种方式自动引用用户私人通讯录下的全局通讯录?
您最好将 DIT 结构安排得更像: ou=私有,ou=地址簿... ou=public,ou=地址簿... 然后您可以使用 ou=addressbooks 作为 baseDN 进行搜索。
或者更好的是,为每个条目分配一个属性布尔类型 private=TRUE。 所以对于所有地址簿,
(objectClass=Entry)
私人
(&(objectClass=Entry)(private=TRUE))
最后,您可以使用 ExtensibleMatch search filter 来搜索两个容器。
-吉姆