3

Spring-LDAP 1.3.1 を使用して、LDAP のコンテンツを読み取ろうとしたところ、次のエラーが発生しました。

LDAP: エラー コード 4 - サイズ制限を超えました

結果のサイズを制限する方法を検索した後、クラスSearchControlsがそれを担当していることがわかりました。

だから今私のコードは次のようになります:

SearchControls controls = new SearchControls();
controls.setCountLimit(1);
ContextMapper mapper = new ContextMapper() {

    public Object mapFromContext(Object ctx) {
        DirContextAdapter adapter = (DirContextAdapter) ctx;
        Attributes attrs = adapter.getAttributes();
        try {
            return attrs.get("cn").get();
        } catch (NamingException e) {
            e.printStackTrace();
            return null;
        }
    }
};
return ldapTemplate.search("OU=system,DC=de", "(objectclass=person)", controls, mapper);

それでも、同じエラーがスローされます。そのため、カウント制限パラメーターは無視されているようです (getCountLimit()依存関係ソースをロードした後、Eclipse で参照が見つかりません)。

私の質問は、Spring-LDAP を使用して LDAP クエリのサイズ制限をどのように設定すればよいですか?

4

3 に答える 3

1

参照するサイズ制限は、「クライアントが要求した」サイズ制限です。クライアントが値を何に設定しても、サーバーのサイズ制限リソース制限をオーバーライドすることはできません。プロ品質のサーバーは、さまざまな方法で返されるエントリの数を制限できます。おそらく、クライアントが制限の 1 つに達した可能性があります。

こちらもご覧ください

于 2013-05-24T12:26:36.950 に答える
0

1)サーバーサイズの /etc/openldap/slapd.conf のsizelimitパラメータを変更できます。詳細については、http://www.ldapadministrator.com/forum/sizelimit-exceeded-problem-t14.htmlを参照してください。

2) または、eq のようにクエリを制限することもできます。ここでSQL/LDAP クエリを 901 行に制限します

于 2016-06-29T11:50:09.957 に答える