Мне нужно добавить новую запись пользователя в мой ldap. Ниже мой код:Код ошибки Ldap 32 при добавлении пользователя в 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 для кода. Может ли кто-нибудь помочь мне понять основную причину этой ошибки или правильного кода.
Я взял путь от самого дерева LDAP, используя Apache Directory Studio. Например: другая существующая запись имеет DN = «cn = newName, ou = Users, dc = wso2, dc = org». Может ли проблема (верхний или нижний регистр) членов в пути быть проблемой? Есть ли способ проверить путь? –
Обновленный ответ с подсказкой на базовом пути – marthursson
Спасибо @marthursson !! Удаление базового пути из DN работало для меня. –