agosto 19, 2017

Alfresco e LDAP due esempi: Netscape Directory Server e Active Directory

Alfresco supporta l’integrazione con sottosistemi di autenticazione esterni basati su protocollo LDAP. Sulla documentazione ufficiale è riportata la seguente tabella sui tipi di sottosistemi attualmente supportati dall’Authentication Chain di Alfresco.

giuseppe-urso-alfresco-ldap-00
Questo articolo mostra due casi di studio relativi all’integrazione con i sottosistemi ldap e ldap-ad ovvero OpenLDAP e Active DirectoryUlteriori approfondimenti sul meccanismo di autenticazione usato da Alfresco si trovano qui.

CASO 1. – Subsystem ldap, integrazione con  Netscape Directory Server (NDS)

In questo caso di studio viene mostrato come integrare Alfresco con CentOS Directory Server la soluzione LDAP per distribuzioni CentOS Linux. Si tratta sostanzialmente di un rebuild del più vecchio Netscape Directory Server (NDS). Altre soluzioni LDAP provenienti da NDS sono Red Hat Directory Server, Fedora 389 Directory Server e Sun One Directory Server. Per testare la connessione ldap e per facilitare le operazioni di amministrazione del server ldap viene utilizzato il client JXplorer open source scritto in java. Ecco lo stack applicativo per questo caso di studio.

Alfresco: Community 4.0.e
LDAP Server: CentOS Directory Server 8.2
LDAP Client: JXplorer 3.3

La prima cosa da fare è un test di connessione verso il server ldap. L’accesso anonimo è abilitato di default su CentOS-DS (LDAPv3). Utilizzando JXplorer è possibile navigare l’alberatura ldap configurata sul sistema.

 giuseppe-urso-alfresco-ldap-01

giuseppe-urso-alfresco-ldap-02

Un altro test importante riguarda il binding verso il server ldap nel caso di accesso con credenziali. Ancora con JXplorer è possibile connettersi al server ldap inserendo il Distinguished Name (DN) esteso associato a un utente di cui si conoscono le credenziali. Ecco due esempi di possibili DN :

Fare attenzione alla presenza dell’attributo cn rispetto a uid poichè è importante ai fini di una corretta configurazione del formato dello username da usare per il login su Alfresco via ldap (proprietà ldap.authentication.userNameFormat).

giuseppe-urso-alfresco-ldap-03

Di seguito la rappresentazione ldif per Utenti e Gruppi utilizzata in questo esempio.

– LDAP USER

 

– LDAP GROUP

Oltre al meccanismo di autenticazione ldap, Alfresco supporta la funzionalità di user registry export ovvero la sincronizzazione di tutte le informazioni relative agli utenti e ai gruppi conservate sul server ldap. In questo modo è possibile tenere sempre aggiornato Alfresco sulle modifiche che vengono fatte sul server ldap (password cambiate, anagrafiche utenti, utenze aggiunte o cancellate da un gruppo ecc.). Per configurare autenticazione e sincronizzazione ldap su Alfresco basta seguire le quattro linee guida riportate di seguito.

1. Creare la directory e il file di configurazione per l’istanza ldap

 

2. Modificare il file ldap-authentication.properties, di seguito un estratto di alcune proprietà

 

3. Impostare l’istanza ldap nel file alfresco-global.properties

 

4. Configurare il debugging sul file log4j.properties

In questo esempio, avendo impostato la proprietà synchronization.syncOnStartup=true Alfresco effettua la sincronizzazione con il server ldap all’avvio oltre che tutti i giorni alle 18 (synchronization.import.cron).
Ecco come si presenta il log nel caso di corretta sincronizzazione.

giuseppe-urso-alfresco-ldap-04

giuseppe-urso-alfresco-ldap-05

Il formato da utilizzare per il login username è definito dalla proprietà seguente.

giuseppe-urso-alfresco-ldap-06

CASO 2. – Subsystem ldap-ad, integrazione con  Microsoft Active Directory

In questo secondo caso di studio viene mostrato come integrare Alfresco con Microsoft Acrive Directroy. L’esempio fa riferimento a una macchina virtuale di test dove è in esecuzione Microsoft Active Directory Server 2003. Ecco lo stack applicativo per questo caso di studio.

Alfresco: Community 4.0.e
LDAP Server: Microsoft Active Directory 2003
LDAP Client: JXplorer 3.3

Sul server AD vengono create due unità organizzative Groups e People rispettivamente per gruppi e utenti :

giuseppe-urso-alfresco-ldap-07

giuseppe-urso-alfresco-ldap-08

E’ possibile utilizzare ancora JXplorer con accesso anonimo per effettuare un primo test sulla connessione verso il server AD. Tuttavia Per navigare l’alberatura ldap è necessario effettuare il binding verso AD accedendo con credenziali. 

giuseppe-urso-alfresco-ldap-09

giuseppe-urso-alfresco-ldap-10

Il binding verso il server AD viene effettuato utilizzando il Common Name (CN) all’interno del Distinguished Name esteso:

Di seguito la rappresentazione ldif per Utenti e Gruppi utilizzata in questo esempio.

– LDAP-AD Group

– LDAP-AD User

Come per il caso precedente, su Alfresco viene configurato autenticazione e sincronizzazione verso il server AD. Il formato username usato per il login è:

Ecco come configurare autenticazione e sincronizzazione ldap-ad su Alfresco.

1. Creare la directory e il file di configurazione per l’istanza ldap-ad.

2. Modificare il file ldap-ad-authentication.properties, di seguito un estratto di alcune proprietà.

3. Impostare l’istanza ldap-ad nel file alfresco-global.properties.

4. Debugging nel file log4j.properties

giuseppe-urso-alfresco-ldap-11

giuseppe-urso-alfresco-ldap-12

giuseppe-urso-alfresco-ldap-13

Related posts

Leave a Reply

Your email address will not be published.