簡體   English   中英

如何在Spring ldap中使用跳過值進行分頁

[英]How to paginate in spring ldap using skip value

任何人都可以幫助我如何使用springldap從LDAP查找一些記錄。

我的問題是,我創建了一個REST服務,它接受了一些參數。 一個是抵消而另一個是極限。 偏移參數轉義一些記錄,例如我的ldap服務器有500條記錄。 現在,如果我給出偏移值1且LIMIT為100,那么它應該給出ldap的前100條記錄。 如果我給偏移量值100並且LIMIT是100,那么它應該在ldap的前100條記錄之后給出100條記錄。 如果我給偏移值50而LIMIT為10,那么它應該在ldap的前50條記錄之后給出10條記錄。

我被困在如何在春季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中找出最大記錄。 但是我無法設置參數或任何其他方式來從一開始就轉義一些記錄。

最好的選擇是使用虛擬列表視圖請求控件(指向規范的鏈接),也稱為VLV。 請注意,要使用VLV,您將需要在LDAP服務器上進行配置更改(我假設您正在使用支持VLV的 OpenDJ)。

論壇上有一個帶有VLV請求控件的JNDI LDAP提供程序代碼示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM