LDAP (Lightweight Directory Access Protocol) è un protocollo che permette di interrogare una directory contenente informazioni utente (nome, login, password...). Dalla versione [SPIP 1.5] è possibile verificare la presenza di un redattore nel database LDAP prima di dargli accesso all’area riservata.
All’atto dell’installazione, SPIP individua se il PHP è stato compilato con il supporto per LDAP. In caso affermativo, alla quinta fase ("creare un accesso"), un pulsante permette di aggiungere una directory LDAP alla configurazione di SPIP. La configurazione che presentiamo di seguito è relativamente semplice, essa tenta di indovinare quanti più parametri possibile. In particolare, essa permette di scegliere lo status predefinito degli autori che provengono dalla directory: essi possono essere redattori (scelta consigliata), amministratori o semplici visitatori.
Nota: l’estensione LDAP del PHP non è di solito attivata di default, quindi SPIP non mostrerà il form corrispondente durante l’installazione. Si deve attivare l’estensione LDAP nella propria installazione di PHP se si desidera utilizzare il protocollo LDAP con SPIP.
Nel caso SPIP sia già installato e si desideri configurare la directory LDAP, sarà necessario eseguire nuovamente l’installazione cancellando il file ecrire/inc_connect.php3
.
Dopo aver effettuato la configurazione in modo corretto, tutti gli utenti della directory LDAP saranno identificati digitando il proprio login (oppure il nome) nella directory LDAP, poi la loro password. È importante notare che ciò non impedisce di creare direttamente degli autori all’interno di SPIP; questi autori non verranno ricopiati nella directory, ma verranno gestiti direttamente da SPIP. D’altra parte nemmeno le informazioni personali (biografia, chiave pubblica PGP...) degli autori autenticati da LDAP saranno ricopiate nella directory. In tal modo, SPIP ha bisogno solo di un accesso in sola lettura alla directory LDAP.
Importante: si deve creare sempre un primo amministratore "normale" (non LDAP) durante l’installazione di SPIP. È preferibile al fine di evitare di essere bloccati in caso di problemi al server LDAP.
Per approfondire
I dati di connessione al server LDAP sono scritti nel file inc_connect.php3
. Corollario: è necessario cancellare questo file e rilanciare l’installazione per attivare LDAP su un sito SPIP già esistente.
Nella tabella spip_auteurs, è aggiunto un campo "source" che indica da dove provengono i dati sull’autore. Di default, esso è "spip", ma può anche prendere il valore "ldap". Ciò permette di savere soprattutto quali campi non devono essere modificati: in particolare, non si deve autorizzare la modifica del login poiché ciò causerebbe una perdita della sincronizzazione tra SPIP e LDAP.
Durante l’autenticazione i due metodi sono verificati in sequenza: SPIP poi LDAP. In effetti un autore LDAP non potrà essere autenticato con la procedura SPIP (procedura standard con challenge MD5) poiché il pass è lasciato vuoto nella tabella spip_auteurs. Invece, un autore SPIP verrà autenticato direttamente dalla tabella spip_auteurs. D’altra parte, se il login digitato non viene da SPIP, la password viene trasmessa in chiaro.
Quando un autore LDAP si connette per la prima volta, i suoi dati di accesso vengono aggiunti nella tabella spip_auteurs. I campi riempiti sono: nome, login e email provenienti da LDAP (campi ’cn’, ’uid’ e ’mail’, rispettivamente) e lo status il cui valore predefinito è stato indicato durante l’installazione (redattore, admin o visitatore). Importante: è possibile modificare lo status successivamente al fine, per esempio, di scegliere i propri admin manualmente.
Dopo la connessione di un autore esso viene autenticato con il metodo classico, ovvero del cookie di sessione. In tal modo ci si connette a LDAP solo durante il login (spip_cookie.php3). Inoltre, i dati presi in considerazione nella visualizzazione e i cicli sono quelli di spip_auteurs, e non quelli della directory.
Per gli autori SPIP non cambia nulla. È possibile crearli e modificarli come al solito.