Cuando tu sistema tiene que validar usuarios utilizando LDAP contra un Microsoft Active Directory podemos utilizar las classes que nos provee Java en el JDK. Realmente pensaba que iba a ser mucho mas costoso pero fue muy sencillo finalmente. El codigo.

Primero los imports

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;

Ahora el codigo…

Hashtable<String, String> env = new Hashtable<String, String>(11);
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://myserver:389/o=DOM"); // replace
env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5"); // No other SALS
env.put(Context.SECURITY_PRINCIPAL, "myuser");
env.put(Context.SECURITY_CREDENTIALS, "mypassword");
DirContext ctx = new InitialDirContext(env);
ctx.close();

Si algun tipo de NamingException surge es porque la validacion fue negativa.