我使用
javax.naming.directory.DirContext为Active Directory创建LDAP请求.此请求返回具有给定名称的用户所属的组.
hSearchControls searchCtls = new SearchControls(); searchCtls.setSearchScope(SearchControls.SUBTREE_ScopE); searchCtls.setCountLimit(1); searchCtls.setReturningAttributes(new String[]{"memberOf"}); String searchFilter = messageformat.format("(sAMAccountName={0})",new Object[]{userName}); NamingEnumeration answer = null; try { String hostDC = host.replaceAll("\\.",",dc="); adSearchRequestCr = adSearchRequestCr.replace("DL3",getDomainName(host,3)); adSearchRequestCr = adSearchRequestCr.replace("DL2",2)); adSearchRequestCr = adSearchRequestCr.replace("DL1",1)); answer = context.search(adSearchRequestCr,searchFilter,searchCtls); }
这工作正常,但现在我需要更改此请求.更改的请求不仅应返回用户所在的组,还应返回该组的父组等(组树).我读到了LDAP_MATCHING_RULE_IN_CHAIN,但我仍然没有设法使用它.
请帮助使用LDAP_MATCHING_RULE_IN_CHAIN或smth类似于获取请求的新目标.