내 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에서 생략해야하는 기본 경로를 지정한 경우 모든 경로는 지정된 기본에 상대적입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다