properties
ldap.url=ldap://localhost:389
ldap.bindDN=cn=admin,dc=example,dc=com
ldap.bindPassword=secret
@Entry(baseDN = "ou=users,dc=example,dc=com", objectClasses = {"inetOrgPerson"})
public class User {
@Id
private String uid;
@Attribute(name = "givenName")
private String firstName;
@Attribute(name = "sn")
private String lastName;
}
LdapTemplate ldapTemplate = new LdapTemplate();
ldapTemplate.setContextSource(new DefaultSpringSecurityContextSource("ldap://localhost:389"));
ldapTemplate.afterPropertiesSet();
User user = new User();
user.setUid("john_doe");
user.setFirstName("John");
user.setLastName("Doe");
ldapTemplate.create(user);
User retrievedUser = ldapTemplate.read(User.class, "john_doe");
System.out.println(retrievedUser.getFirstName());
retrievedUser.setLastName("Doe Jr.");
ldapTemplate.update(retrievedUser);
ldapTemplate.delete(retrievedUser);