我正在尝试将所有用户搜索到OU =“Usuarios”,但OU =“Usuarios”有一个subOus,例如:
OU = USUARIOS 用户:伊万 OU:Gerentes 用户名:Pablo
我的问题:
我需要找到用户ivan和pablo。但结果只与伊万有关。
代码:
SearchControls controls = new SearchControls();
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String consulta = "(& (objectClass=user))";
NamingEnumeration<SearchResult> renum = context.search("OU=Usuarios," + toDC(dominio),
consulta, controls);
我想以递归方式执行此操作,而不是放(“OU = Gerentes,OU = Usuarios Rimac)。
我该怎么做?
答案 0 :(得分:0)
您的目录树hiearachy看起来像这样吗
ou=Usarios
| - ivan
|
+ou=Gerentes
- pablo
您应该能够在ou=Usarios
的基础上构建搜索,并获得以下所有内容,包括范围为SUBTREE_SCOPE
的子搜索。
像(&(objectclass=user)(|(uid=ivan)(uid=pablo)))
这样的过滤器应该找到ivan和pablo,如果你的搜索范围足够高,范围为SUBTREE_SCOPE
。
如果您希望所有用户,您的搜索字符串应为(objectclass=user)
。
搜索库需要从根完全限定一件事。这通常类似于
ou=Usarios,dc=company,dc=com