spring ldap 使用总结
1.报错
1.1
org.springframework.ldap.PartialResultException: Unprocessed Continuation Reference(s); nested exception is javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name '/'
解决:
ldapTemplate的setIgnorePartialResultException设置为true.
ldapTemplate.setIgnorePartialResultException(true);
2.新建用户
Name dn =LdapNameBuilder.newInstance()
.add("ou","xx软件")
.add("cn", "张三")
.build();
DirContextAdapter context = new DirContextAdapter(dn);
context.setAttributeValues("objectclass", new String[] { "top", "user", "person" ,"organizationalPerson"});
context.setAttributeValue("cn", "张三");
ldapTemplate.bind(dn, context, null);
System.out.println(eipLdapTemplate);
需要注意的是,name类的实例dn表示用户的distinguishedName,需要包含cn属性,如果不包含cn属性会报错.
cn需要和context的attribute属性的cn相等才可以创建用户,通过bind方法可以在ou为xx软件的机构下创建名称为张三的用户.