0
私のLDAPに新しいユーザーエントリを追加する必要があります。以下の私のコードです:ユーザーをLDAPに追加する際のLdapエラーコード32
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で指定された例を以下しています。このエラーや正しいコードの根本原因を理解するのに助けてくれる人がいますか?
Apache Directory Studioを使用してLDAPツリー自体からパスを取得しました。たとえば、別の既存のエントリはDN = "cn = newName、ou = Users、dc = wso2、dc = org"です。パス内の用語の大文字/小文字は問題になりますか?パスを確認する方法はありますか? –
基本パスのヒントを更新しました – marthursson
ありがとう@marthursson !! DNからベースパスを削除すると私にとってはうまくいった。 –