DirContext dirContext = connectLDAPServer("", propertyTable);
public ArrayList searchGroup(DirContext ctx, String groupName) {
ArrayList returnvec = new ArrayList();
try {
// 设置查找范围为所有子树
SearchControls constraints = new SearchControls();
constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
// 构造查询条件
String filter = "cn=" + groupName;
String ldap = LDAP_SERVER + BASE_DN;
NamingEnumeration results = ctx.search(ldap, filter, constraints);
while (results != null && results.hasMore())
{
SearchResult si = (SearchResult) results.next();
String objectclass_value = si.getAttributes().get("objectclass").toString();
if (objectclass_value.indexOf("groupofuniquenames") > 0)
returnvec.add(si);
}
} catch (Exception e) {
e.printStackTrace();
logger.error(CLASS_NAME+" 搜索群组时产生错误:" + e.toString());
}
return returnvec;
}
本文介绍了一个使用Java进行LDAP连接并搜索特定群组的方法。通过设置查找范围为所有子树,并构造查询条件,可以搜索到符合指定名称的群组。同时,文章提供了异常处理方式。

被折叠的 条评论
为什么被折叠?



