http://protocol7.com/archives/2006/07/16/acegi-security-system-and-active-directory-howto/
private String _managerDn = "CN=manager, CN=users, DC=domain, DC=com";
private String _managerPassword = "managerPassword";
private String _url = "ldap://ldapServer:389";
private String _userBase = "CN=users, DC=domain, DC=com";
DefaultInitialDirContextFactory ctxFactory = new DefaultInitialDirContextFactory(_url);
ctxFactory.setManagerDn( _managerDn );
ctxFactory.setManagerPassword( _managerPassword );
FilterBasedLdapUserSearch userSearch = new FilterBasedLdapUserSearch(_userBase, "(sAMAccountName={0})", ctxFactory);
userSearch.setSearchSubtree( true );
BindAuthenticator bindAuthenticator = new BindAuthenticator(ctxFactory);
bindAuthenticator.setUserSearch( userSearch );
try {
bindAuthenticator.afterPropertiesSet();
bindAuthenticator.authenticate( "userName", "userPassword");
} catch ( Exception e ) {
throw new RuntimeException( e );
}