我是LDAP的入门者,最近几天才学会了如何进行LDAP查询。一世 使用这段代码来查找组中人员的成员资格。
SearchControls srch = new SearchControls();
srch.setSearchScope(SearchControls.SUBTREE_SCOPE);
String search_start = "CN=somegroup@myworld.com,OU=Managed Groups,OU=Accounts,DC=americas,DC=myworld,DC=com";
String[] attrIDs = {"cn"};
srch.setReturningAttributes(attrIDs);
String search_target = "(member=CN=django@myworld.com,OU=US,OU=Users,OU=Accounts,DC=americas,DC=myworld,DC=com)";
NamingEnumeration answer = cntxt.search( search_start, search_target,srch );
boolean isInGroup = false;
while(answer.hasMore()) {
SearchResult rslt = (SearchResult)answer.next();
Attributes attrs = rslt.getAttributes();
NamingEnumeration<String> all = attrs.getIDs();
isInGroup = true;
break;
}
我现在的任务是如何查找此人是否属于顶级组织。我想出了在这种情况下我可以使用哪种查询的想法。有人可以提供一些建议吗?
的问候, 高野
答案 0 :(得分:0)
假设您的顶级OU为:OU=Accounts,DC=americas,DC=myworld,DC=com
难道你不能只是改变以下内容来实现你所需要的吗?
// ...
String search_start = "OU=Accounts,DC=americas,DC=myworld,DC=com";
// ...
String search_target = "(member=CN=django@myworld.com,OU=Accounts,DC=americas,DC=myworld,DC=com)";
// ...