0

如何在 LDAP 中搜索组(groupOfNames),作为输入,我只能传递组名。创建的组的名称是唯一的。我只使用 LDAP eclipse 插件来搜索组层次结构。我希望 JAVA 代码通过它的 cn(通用名称)搜索组,这将是唯一的。

例如,

void searchGroupName("sampleGroup")
{
context.search(String groupRoot,String sampleGroup,SearchControls ctls);
}
4

1 回答 1

0

我假设您将使用 Spring LDAP,因为这个问题被标记了。使用 Spring LDAP 2.x,您可以执行以下操作:

Group group = ldapTemplate.searchForObject(
                query().base(groupRoot).where("cn").is(sampleGroup),
                new AbstractContextMapper<Group>({
                  protected Group doMapFromContext(DirContextOperations ctx) {
                    // Build Group instance here using ctx.getStringAttribute()
                    return Group;
                  }
                });

或者,如果您正在使用 Spring LDAP ODM 并且已经适当地注释了您的 Group 域类(有关详细信息,请参阅参考文档):

Group group = ldapTemplate.findOne(
                 query().where("cn").is(sampleGroup), 
                 Group.class);

有关使用用户和组的完整应用程序示例,请查看Spring LDAP 用户管理示例

于 2014-05-23T05:53:38.187 回答