JLDAP, ovvero la libreria di classi
LDAP per Java, permette l’implementazione di applicazioni in grado di gestire informazioni memorizzate in directory, accessibili attraverso LDAPv3. Le API definiscono le interfacce sincrone e asincrone per l’accesso e l’interazione con l’architettura
LDAP.
Tra le classi che compongono il package, la principale è
LDAPConnection, che fornisce i giusti metodi per stabilire una connessione con i server
LDAP - anonima o autenticata - per ricercare, modificare e cancellare record o entry nella directory
LDAP. Inoltre, questa classe offre le
funzionalità di memorizzazione delle configurazioni di una specifica sessione LDAP, come il
timeout oppure il numero massimo di risultati accettati.
Le due possibili modalità, sincrona e asincrona, vengono lanciate secondo canali differenti e producono risultati sotto forma di oggetti diversi.
Una ricerca sincrona restituisce oggetti di tipo LDAPSearchResults object, cui si può accedere direttamente per individuare le singole entry. Ogni entry, ovvero un oggetto
LDAPEntry, fornisce l’accesso agli attributi ad essa associati.
I metodi asincroni restituiscono oggetti di tipo listener,
LDAPResponseListener o
LDAPSearchListener , ovvero una coda di messaggi associati alla richiesta lasciando quindi al processo client la lettura e l’eleborazione della coda.
In ogni caso l'interazione con la struttura
LDAP avviene attraverso
quattro passi principali:
- la costruzione della connession e l'inizializzazione della sessione con il server, utilizzando la classe LDAPConnection;
- l'autenticazione al server, utilizzando LDAPConnection.bind();
- l'esecuzione delle operazioni di ricerca, utilizzando la versione sincrona o asincrona della LDAPConnection.search();
- la chiusura della connessione, attraverso LDAPConnection.disconnect().
Per gli esempi implementativi si rimanda alle
pagine ufficiali, messe a disposizione da Novell, che contengono una quantità consistente di realizzazioni pratiche.