再问一个LDAP问题。
tl,博士
下面是我想找到的员工的示例dn:
CN=ID304397,OU=Personal,OU=UnitedStates,OU=Department,DC=ad,DC=companyName,DC=net
我想查找其DNs包含值OU=Personal
、DC=ad
、DC=companyName
、DC=net
和givenName=Name*
的所有员工,同时允许添加ou和dc。
期望找到的员工DN示例
CN=ID30434,OU=Personal,OU=Africa,OU=Department,DC=ad,DC=companyName,DC=net
CN=ID1234,OU=Personal,OU=Hawaii,OU=OtherDepartment,DC=additionalDc,DC=ad,DC=companyName,DC=net
更多细节:
使用Softerra LDAP Administrator我尝试使用以下过滤器搜索以下DNs
- 搜索DN
DC=ad,DC=companyName,DC=net
- Filter
(&(ou=Personal)(objectClass=user)(givenName=Name*))
和
- 搜索DN
OU=Personal,DC=ad,DC=companyName,DC=net
- Filter
(&(objectClass=user)(givenName=Name*))
在其他东西中也没有发现
我不想在得到查询结果后,在前端删除ou子句并进行过滤。
TIA
这个任务可以分为两个简单的部分:
- 查询名称为
Personal
的所有组织单元的域信息。- 搜索基准DN:
DC=ad,DC=wedani,DC=net
- 查询过滤器:
(&(ou=Personal)(objectClass=organizationalUnit))
- 搜索基准DN:
- 对于步骤1中发现的每个OU:
- 查询该OU下的用户:
- 搜索基准DN:
<distinguishedName of OU>
- 查询过滤器:
(&(objectCategory=person)(objectClass=user)(givenName=Name*))
- 搜索基准DN:
- 查询该OU下的用户:
对于所有请求,您将希望将查询范围设置为subtree
(例如。递归地搜索基本DN下的任何容器)