任何正文都可以帮助我如何使用springldap从LDAP中找到一些记录。
我的问题是,我创建了一个休息服务,它接受了一些参数。一个是抵消,另一个是限制。偏移参数转义一些记录,如果我的ldap服务器有500条记录。 现在如果我给出偏移值1并且LIMIT是100.那么它应该从ldap给出前100条记录。 如果我给出偏移值100并且LIMIT是100,那么它应该在ldap的前100条记录之后给出100条记录。 如果我给出偏移值50并且LIMIT是10,那么它应该在ldap的前50条记录之后给出10条记录。
我坚持如何在spring ldap模板中设置偏移值。我设置了限制值,它工作正常。
我正在分享代码的和平。
public OrganisationGroups getOrganisationGroup()
{
SearchControls controls = new SearchControls();
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
controls.setCountLimit(MAXIMUM_SEARCH_GROUP_COUNT);
AndFilter filter = new AndFilter();
filter.and(new EqualsFilter("objectclass", "groupOfUniqueNames"));
List<OrganisationGroup> organisationGroup = ldapTemplate.search("", filter.toString(), controls, new GroupSearchMapper());
OrganisationGroups groups = new OrganisationGroups();
groups.setOrganisationGroup(organisationGroup);
groups.setCount(organisationGroup.size());
return groups;
}
在这段代码中,我设置了MAXIMUM_SEARCH_GROUP_COUNT变量,以便从ldap中找出最大记录。但我无法设置参数或任何其他方式从一开始就逃避一些记录。
答案 0 :(得分:0)
您最好的选择是使用虚拟列表视图请求控件(链接到specification),也称为VLV。请注意,要使用VLV,您需要在LDAP服务器上进行配置更改(我假设您使用的是支持VLV的OpenDJ)。
在forum处有一个带有VLV请求控制的JNDI LDAP提供程序的代码示例。