gpt4 book ai didi

Spring 的 LdapTemplate 搜索 : PartialResultException: Unprocessed Continuation Reference(s); remaining name '/'

转载 作者:行者123 更新时间:2023-12-04 22:43:36 26 4
gpt4 key购买 nike

我通过 LDAP 为某个应用程序添加用户,使用 spring。

虽然这适用于大多数情况,但在某些情况下,它不起作用......

检索我使用的用户:

public class LdapUserServiceImpl implements ILdapUserService {

@Override
public List<LdapUserVO> getUserNamesByQuery(String query) {
return ldapTemplate.search(
query().countLimit(15)
.where("objectClass").is("user")
.and("sAMAccountName").isPresent()
.and(query()
.where("sAMAccountName").like("*" + query + "*")
.or("sAMAccountName").is(query)
.or("displayName").like("*" + query + "*")
.or("displayName").is(query))
,
new AttributesMapper<LdapUserVO>() {
public LdapUserVO mapFromAttributes(Attributes attrs) throws NamingException {
LdapUserVO ldapUser = new LdapUserVO();
Attribute attr = attrs.get(ldapUserSearch);
if (attr != null && attr.get() != null) {
ldapUser.setUserName(attr.get().toString());
}
attr = attrs.get("displayName");
if (attr != null && attr.get() != null) {
ldapUser.setDisplayName(attr.get().toString());
}
return ldapUser;
}
});
}
}

所以这在大多数情况下都有效,但有时我会收到以下错误:
unprocessed continuation reference(s); remaining name "/"

我已经搜索了很多关于这个,我明确地设置
DefaultSpringSecurityContextSource ctxSrc = new DefaultSpringSecurityContextSource(ldapUrl);
ctxSrc.setReferral("follow");

更多信息:
  • 搜索查询“admin_a”有效,但“admin_ah”无效
  • Spring 版本是 4.2.5.RELEASE
  • Spring ldap-core 版本为 2.0.2.RELEASE

  • 我觉得剩下的名字是根目录很奇怪......有人知道如何解决这个问题,甚至从哪里开始寻找?

    提前致谢!

    最佳答案

    这可能与 Active Directory 无法自动处理引用有关。请看 LdapTemplate javadoc .

    如果是这种情况,请设置 ignorePartialResultException属性(property)到true在您的 ldapTemplate配置。

    关于Spring 的 LdapTemplate 搜索 : PartialResultException: Unprocessed Continuation Reference(s); remaining name '/' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486159/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com