Autenticazione LDAP

Top  Previous  Next

Quando in una realtà aziendale il dominio Windows è gestito mediante una macchina Windows 2000 o superiore, è disponibile il servizio detto Active Directory. AD è l’implementazione Windows del protocollo “Lightweight Directory Access Protocol”, LDAP. Le applicazioni possono interrogare un server LDAP per chiedere l’esistenza di certe risorse, come gli account utente. Il database di LDAP contiene in realtà elenchi di vario genere, come: nomi utente, nomi di macchine, di stampanti.

Con questo tipo di autenticazione, l'utente reinserisce nella pagina di login le sue credenziali di Windows, che verranno validate dal server LDAP prima e da Check&In poi. È importante il parametro che stabilisce la corrispondenza fra l'utente di LDAP e quello di Check&In.

Parametro “Regola di corrispondenza con gli utenti di Check&In”: è la regola in base alla quale il nome utente di Windows diventa un nome utente di Check&In.

Se vale “Nome e dominio”, il valore predefinito, allora il nome utente completo di dominio, convertito nella forma “utente@dominio”, viene ricercato fra gli utenti validi di Check&In. Ad esempio, se si è connessi a Windows come “Produzione\andrea”, deve esistere l’utente di nome “andrea@Produzione”.
Se il parametro vale “Nome senza dominio”, allora la ricerca nell’archivio utenti di Check&In utilizza solo la parte del nome: se si è connessi a Windows come “Produzione\andrea”, deve esistere l’utente di nome “andrea”.

I parametri per l’interrogazione di LDAP, che sono:

un percorso: identifica il server di dominio, e definisce un filtro sugli elenchi di LDAP, in modo da limitare la ricerca agli elenchi che interessano;
un filtro di ricerca
username e password: sono una coppia di credenziali valide sul web server e che sono utilizzate per eseguire le interrogazione di LDAP.

Il percorso

Il percorso si deve definire con la sintassi di LDAP, in forma generale è “LDAP://server/condizioni”. Se il controllore di dominio è “domainServer” ed il nome completo del dominio è “PRODUZIONE.AziendaSpa.it”, un percorso può essere il seguente:

LDAP://domainServer/DC=PRODUZIONE,DC=AziendaSpa,DC=it

Come si vede, il nome del dominio, viene separato nelle componenti (DC= “domain component”).

Il filtro di ricerca

E' la definizione del filtro che si applica nell'interrogazione di LDAP. Tipi esempi sono:

(&(objectClass=user)(objectCategory=person)(SAMAccountName={0}))

(&(objectClass=user)(objectCategory=person)(userPrincipalName={0}))

In questa definizione, il segnaposto {0} viene sostituito dal nome utente effettivo senza dominio (nel caso di SAMAccountName) o dal nome completo inserito (negli altri casi). Sul significato di queste proprietà si veda ad es.:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms677605(v=vs.85).aspx

Il filtro di ricerca effettivo può essere quindi, dopo la sostituzione:

(&(objectClass=user)(objectCategory=person)(SAMAccountName=andrea)

(&(objectClass=user)(objectCategory=person)(userPrincipalName=andrea@produzione)

 

Le credenziali

Si usano per indicare delle credenziali per l’interrogazione del server LDAP. Se non indicate, l’interrogazione usa le stesse credenziali che si stannao autenticando. Queste credenziali sono salvate nel file di Check&In web.xml, in forma criptata.

Per verificare la correttezza dei parametri, eseguire un test con il bottone “Verifica lo username”. In questa casella, se si indica un nome completo di dominio, si considera solo la parte nome e si scarta il dominio.