2016-09-14 5 views
0

Мне нужно добавить новую запись пользователя в мой 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 для кода. Может ли кто-нибудь помочь мне понять основную причину этой ошибки или правильного кода.

ответ

1

Проблема заключается в том, что путь ou=Users,dc=wso2,dc=org не существует в вашем дереве LDAP, поэтому вы не можете создать дочерний объект на этом пути.

Если вы указали базовый путь для своего ContextSource, который следует исключить из всех DN в коде, так как все пути будут относиться к указанной базе.

+0

Я взял путь от самого дерева LDAP, используя Apache Directory Studio. Например: другая существующая запись имеет DN = «cn = newName, ou = Users, dc = wso2, dc = org». Может ли проблема (верхний или нижний регистр) членов в пути быть проблемой? Есть ли способ проверить путь? –

+0

Обновленный ответ с подсказкой на базовом пути – marthursson

+0

Спасибо @marthursson !! Удаление базового пути из DN работало для меня. –

Смежные вопросы