Autenticazione su LDAP via Java

Nelle webapplication Java spesso si utilizzano delle credenziali ad hoc esclusive dell'applicazione stessa. Ma se la webapp è utilizzata dagli stessi utenti che già sono presenti su un server LDAP (es. Windows Active Directory) potete utilizzare quello stesso server per autenticare gli utenti.

Bastano queste poche righe di codice:

String principal = "nomeDominio\\nomeUtente"; String password = "laPassword"; try { Properties env = new Properties(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://IP_DEL_SERVER_LDAP:389"); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, principal); env.put(Context.SECURITY_CREDENTIALS, passwd); DirContext ctx = new InitialDirContext(env); catch(NamingException e) { System.out.println("Impossibile effettuare il login. Verificare il nome utente e la password"); } System.out.println("Login effettuato con successo")