我有这个 LDAP 方案。
dc=company, dc=com
- ou=users
- uid=aaaa
- ou=car
- brand=audi
- brand=chevrolet
- uid=bbbb
- ou=car
- brand=ford
- brand=audi
- brand=chevrolet
- uid=cccc
- ou=car
- brand=ford
- brand=chevrolet
- uid=dddd
- ou=car
- brand=ford
- brand=audi
我只需要获取没有福特汽车的用户。可以一次请求完成吗?
谢谢你
如果您只需要 DN(并且您的排除标准也恰好基于 DN),那么这是可能的,但如果您需要非 DN 属性,则不。
如果所有必要的数据(包括您要排除的子条目和您要查找的用户)都存储在 DN 中:
(&(objectClass=car)(brand=*))
(不请求任何属性)。如果子条目必须通过非 DN 属性进行匹配,则需要进行额外的搜索来查找
(brand=ford)
条目(然后步骤 4 是“如果 childDN 在 badCars 集中,则从 goodUsers 集中删除相应的 userDN ”)。
如果您需要检索非 DN 属性,则至少需要进行一次额外搜索来加载用户属性。使用 Active Directory,您可以构建一个类似
(|(distinguishedName=DN1)(distinguishedName=DN2)(...))
的过滤器,让您可以按 DN 一次检索多个用户。