您好我正在使用 Spring ldap 在 ldap 中添加用户。
我已经在应用程序上下文文件中指定了 LDAP 的上下文源......
<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="ldap://brm-devoid-01.brocade.com:389"/>
<property name="base" value="ou=Users,dc=external,dc=brocade,dc=com"/>
<property name="userDn" value="cn=oracladmin"/>
<property name="password" value="mypassword"/>
</bean>
<bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate" >
<constructor-arg ref="contextSource"/>
</bean>
<bean id="activation" class="com.brocade.webportal.registration.service.ActivationImpl">
<property name="ldapTemplate" ref="ldapTemplate"/>
</bean>
有了这些规范,我就可以成功地从 LDAP 读取用户,也可以列出 LDAP 中的所有用户。但是,当我尝试使用 ldapTemplate.bind() 添加用户时,出现以下异常:
org.springframework.ldap.NameNotFoundException: [LDAP: error code 32 - Parent entry not found in the directory.]; nested exception is javax.naming.NameNotFoundException: [LDAP: error code 32 - Parent entry not found in the directory.]; remaining name 'brusertype=End User,brsupportuser=N,brprofileupdateflag=N,brresetflag=N,brsegment=GUEST,brrelationshiptype=GENERAL,cn=Dinesh Narayanan,sn=Narayanan,givenname=Dinesh,userpassword=password1,uid=testingspringldap2@intrado.com'
at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:174)
at org.springframework.ldap.core.LdapTemplate.executeWithContext(LdapTemplate.java:810)
at org.springframework.ldap.core.LdapTemplate.executeReadWrite(LdapTemplate.java:802)
at org.springframework.ldap.core.LdapTemplate.bind(LdapTemplate.java:996)
at com.brocade.webportal.registration.service.ActivationImpl.activateUser(ActivationImpl.java:242)