You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring LDAP多值属性过滤查询遇错误码11求解决方案

问题解答

首先明确:多值属性完全支持这类等值过滤查询,你的代码写法本身没有问题。

你遇到的LDAP: error code 11 - Administrative Limit Exceeded错误,和多值属性过滤无关,本质是LDAP服务器设置了单查询返回结果的数量上限,而你的查询匹配到的条目数超过了这个限制。

解决办法:

  • 分页查询:通过Spring LDAP的分页处理机制拆分结果,避免一次性返回过多条目。示例代码:
    int pageSize = 100; // 根据服务器限制调整每页大小
    PagedResultsDirContextProcessor pageProcessor = new PagedResultsDirContextProcessor(pageSize);
    
    do {
        List<String> uids = ldapTemplate.search(
            query().base("ou=People").attributes("uid")
                   .where("objectclass").is("person")
                   .and("department").is("Marketing"),
            (Attributes attrs) -> (String) attrs.get("uid").get(),
            pageProcessor
        );
        // 处理当前页的uid列表
        pageProcessor.resetCookie();
    } while (pageProcessor.hasMore());
    
  • 缩小查询范围:如果业务允许,把查询的base DN设得更具体(比如指定某个子OU),或者增加额外过滤条件(比如结合cn、mail等属性),减少匹配的条目数量。
  • 联系LDAP管理员:询问服务器的查询上限设置,看是否可以调整,或者让管理员协助优化查询策略。

内容的提问来源于stack exchange,提问作者jimny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:32:03