gpt4 book ai didi

java - spring ldapTemplate的查找方法期间出现问题

转载 作者:行者123 更新时间:2023-11-30 03:35:55 24 4
gpt4 key购买 nike

我正在使用Spring的ldapTemplate。在我的 ldaputility.java 中,我这样做:

public Object findUser(String username) {
System.out.println("inside find USer with username : "+username);
Object object=ldapTemplate.lookup("uid=xyz,cn=users,o=companyName",
new AttributesMapper<Object>()//GETTING ERROR AT THIS LINE
{

@Override
public User mapFromAttributes(Attributes attrs) throws NamingException {
User user = new User();
user.setFullName((String)attrs.get("cn").get());
user.setLastName((String)attrs.get("sn").get());
user.setPassword((String)attrs.get("password").get());

return user;
}
});
return object;
}

在我的 ldif 中,我正在做这样的事情:

dn: o=companyName
objectclass: domain
objectclass: top

dn: cn=users,o=companyName
objectclass: container
objectclass: top
cn: users

dn: cn=groups,o=companyName
objectclass: top
objectclass: container
cn: groups

dn: uid=xyz,cn=users,o=companyName
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: xyz
userpassword: xyz123
sn: xyz
givenName: xyz
cn: xyz abc

当 controle 出现在 ldapTemplate.lookup() 上时,我收到以下错误

    org.springframework.ldap.InvalidNameException: uid=xyz,cn=users,o=companyName: [LDAP: error code 34 - Invalid DN Syntax]; 
nested exception is javax.naming.InvalidNameException: uid=xyz,cn=users,o=companyName: [LDAP: error code 34 - Invalid DN Syntax];
remaining name 'uid=xyz,cn=users,o=companyName

搜索了很多,但无法解决这个问题。请有人帮我解决这个问题。

最佳答案

该异常表示专有名称中的语法无效。 DN 语法 - 特别是关于特殊字符的编码 - 非常复杂,因此您通常应该避免使用字符串连接来构造可分辨名称(如果您正在这样做)。

考虑使用LdapNameBuilder用于构建专有名称。

关于java - spring ldapTemplate的查找方法期间出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27902956/

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