Interrogare ldap da windows
Su windows non esiste ldapsearch sulla linea di comando. Esistono vari software per sfogliare una directory ldap (grafici). Pero' forse la maniera piu' semplice e' ldaptive, una libreria java sviluppata dall'universita' Virginia Tech e talmente diffusa da essere parte di shibboleth.
Installazione
Java
Scaricare java dal sito sun/oracle, settare la variabile di ambiente JAVA_HOME alla cartella di java, (ad esempio nel mio caso C:\Programmi\Java\jre1.6.0_07). Per settare una variabile di ambiente su windowsXP aprire gestione risorse -> Sistema -> Avanzate -> Variabili di ambiente
ldaptive
Scaricare lo zip di ldaptive dal sito ldaptive, scompattarlo. Eventualmente definire la variabile LDAPTIVE_HOME alla cartella di scompattazione.
Interrogazioni
Aprire una finestra di comando, fare cd fino alla cartella $LDAPTIVE_HOME/bin (oppure inserirla nel PATH).
Interrogazione anonima con il filtro 'sn=malvezzi' per avere givenName e sn:
ldapsearch -ldapUrl ldap://ldap5.unimore.it/ou=people,dc=unimore,dc=it -useStartTLS true -searchFilter sn=malvezzi -returnAttributes givenName sn
se si omette "-returnAttributes ..." sono restituiti tutti gli attributi disponibili con il livello di accesso della richiesta.
Interrogazione autenticata:
ldapsearch -ldapUrl ldap://ldap.unimore.it/ou=people,dc=unimore,dc=it \n -bindDn uid=malvezzi,ou=people,dc=unimore,dc=it -useStartTLS true -searchFilter sn=malvezzi
(La password non verrà visualizzata a schermo)
Eccezioni
Una eccezione tipo:
javax.naming.CommunicationException: ldap5.unimore.it:389 [Root except ion is java.net.ConnectException: Connection timed out: connect]
significa che e' chiuso il firewall sul server (ldap5.unimore.it in questo esempio).