<dependency>
<groupId>org.gluu</groupId>
<artifactId>ox-ldap-annotations</artifactId>
<version>1.4.0</version>
</dependency>
public class LdapConfiguration {
private String serverUrl;
private String bindDn;
private String bindPassword;
}
@LdapEntry
public class User {
@LdapAttribute(name = "uid")
private String username;
@LdapAttribute(name = "cn")
private String fullName;
@LdapAttribute(name = "mail")
private String email;
}
LdapClient<User> ldapClient = new DefaultLdapClient<>(LdapConfiguration.class);
List<User> users = ldapClient.search(User.class, Filter.createEqualityFilter("uid", "john"));
User user = new User();
user.setUsername("john");
user.setFullName("John Doe");
user.setEmail("john.doe@example.com");
LdapClient<User> ldapClient = new DefaultLdapClient<>(LdapConfiguration.class);
ldapClient.create(user);
User user = ldapClient.searchById(User.class, "uid", "john");
user.setEmail("new.email@example.com");
ldapClient.update(user);
ldapClient.delete(user);