将用户添加到 ldap 时出现 Ldap 错误代码 32
Ldap error code 32 while adding user to ldap
我需要向我的 ldap 添加一个新的用户条目。以下是我的代码:
javax.naming.Name name = new DistinguishedName("cn=" + userName +",ou=Users,dc=wso2,dc=org");
Attribute objectClass = new BasicAttribute("objectClass");
{
objectClass.add("top");
objectClass.add("inetOrgPerson");
objectClass.add("person");
objectClass.add("organizationalPerson");
}
Attributes userAttributes = new BasicAttributes();
userAttributes.put(objectClass);
userAttributes.put("cn", userName);
userAttributes.put("sn", "abctest");
userAttributes.put(ATTRIBUTE_USER_PASSWORD, password);
LdapTemplate ldapTemplate = (LdapTemplate) SpringBeanFactory
.getBean("ldapTemplate");
ldapTemplate.bind(name, null, userAttributes);
尽管执行这段代码时出现以下异常:
org.apache.cxf.interceptor.Fault: [LDAP: error code 32 - No Such Object];
nested exception is javax.naming.NameNotFoundException:
[LDAP: error code 32 - No Such Object]; remaining name 'cn=myname,ou=Users,dc=wso2,dc=org'
我正在按照 http://kaustuvmaji.blogspot.in/2014/12/simple-example-of-spring-ldap.html 中指定的代码示例进行操作。谁能帮我理解这个错误的根本原因或正确的代码。
这里的问题是路径 ou=Users,dc=wso2,dc=org
在您的 LDAP 树中不存在,因此您无法在该路径上创建子项。
如果您为 ContextSource
指定了基本路径,则应从代码中的所有 DN 中省略该路径,因为所有路径都将相对于指定的基本路径。
我需要向我的 ldap 添加一个新的用户条目。以下是我的代码:
javax.naming.Name name = new DistinguishedName("cn=" + userName +",ou=Users,dc=wso2,dc=org");
Attribute objectClass = new BasicAttribute("objectClass");
{
objectClass.add("top");
objectClass.add("inetOrgPerson");
objectClass.add("person");
objectClass.add("organizationalPerson");
}
Attributes userAttributes = new BasicAttributes();
userAttributes.put(objectClass);
userAttributes.put("cn", userName);
userAttributes.put("sn", "abctest");
userAttributes.put(ATTRIBUTE_USER_PASSWORD, password);
LdapTemplate ldapTemplate = (LdapTemplate) SpringBeanFactory
.getBean("ldapTemplate");
ldapTemplate.bind(name, null, userAttributes);
尽管执行这段代码时出现以下异常:
org.apache.cxf.interceptor.Fault: [LDAP: error code 32 - No Such Object];
nested exception is javax.naming.NameNotFoundException:
[LDAP: error code 32 - No Such Object]; remaining name 'cn=myname,ou=Users,dc=wso2,dc=org'
我正在按照 http://kaustuvmaji.blogspot.in/2014/12/simple-example-of-spring-ldap.html 中指定的代码示例进行操作。谁能帮我理解这个错误的根本原因或正确的代码。
这里的问题是路径 ou=Users,dc=wso2,dc=org
在您的 LDAP 树中不存在,因此您无法在该路径上创建子项。
如果您为 ContextSource
指定了基本路径,则应从代码中的所有 DN 中省略该路径,因为所有路径都将相对于指定的基本路径。