Protocollo LDAP: implementazione in un Sistema Informativo Territoriale o in un qualsiasi progetto informatico

Protocollo LDAP: implementazione in un Sistema Informativo Territoriale o in un qualsiasi progetto informatico

Ottobre 29, 2023 0 Di Ruggero Grando

Applicazione del protocollo LDAP nell’architettura del S.I.T: una prima soluzione semplice, non generica!

Prima di proporre una soluzione più robusta in termini di sicurezza, vorrei descrivere una soluzione un po’ più semplice di utilizzo del protocollo LDAP. Di seguito il diagramma dei componenti di tale soluzione.

Immagine 5.
(Architettura S.I.T solo con autenticazione LDAP).

Di seguito la descrizione dell’interazione dei componenti con l’integrazione del protocollo LDAP :

  • L’utente accede all’applicazione web fornita come interfaccia con OpenLayer.
  • OpenLayer invia una richiesta a GeoServer per ottenere un layer specifico che richiede l’utente.
  • GeoServer verifica se la richiesta contiene un cookie di sessione per capire se l’utente è autenticato.
  • Se l’utente non è autenticato, Geoserver risponde con un messaggio 401 (non autorizzato).
  • OpenLayer vede il messaggio 401 e apre una finestra di autenticazione in cui l’utente dovrà inserire le credenziali LDAP.
  • L’utente fornisce le credenziali nel modulo LDAP creato da OpenLayer.
  • OpenLayer invia le credenziali a Geoserver per l’autenticazione.
  • Geoserver invia le credenziali al server LDAP per la verifica.
  • LDAP risponde con successo o fallimento.
  • Se l’autenticazione al server LDAP è andata a buon fine, Geoserver invia un cookie di sessione a OpenLayer e fornisce l’accesso al layer richiesto.
  • Se l’autenticazione non è valida, Geoserver fornisce a OpenLayer un messaggio di errore.

Ma vediamo in dettaglio la sequenza delle operazioni appena descritte in un linguaggio che può essere copiato e utilizzato nel sito di PLANTUML per la rappresentazione del diagramma UML.

@startuml
participant "Utente" as User
participant "OpenLayers" as OL
participant "GeoServer" as GS
participant "LDAP" as LDAP
participant "PostgreSQL/PostGIS" as PG

User -> OL: Accede all'applicazione
OL -> GS: Richiede layer protetto
GS -> GS: Verifica cookie di sessione
alt Utente non autenticato
    GS -> OL: Errore 401 (Non autorizzato)
    OL -> User: Richiede credenziali LDAP
    User -> OL: Fornisce credenziali
    OL -> GS: Invia credenziali per autenticazione
    GS -> LDAP: Verifica credenziali
    LDAP -> GS: Risposta autenticazione
    alt Autenticazione riuscita
        GS -> OL: Invia cookie di sessione e layer
    else Autenticazione fallita
        GS -> OL: Errore autenticazione
        OL -> User: Mostra errore
    end
else Utente già autenticato
    GS -> OL: Fornisce layer
end
group Accesso a PostgreSQL/PostGIS
    User -> PG: Richiede accesso ai dati
    PG -> LDAP: Verifica credenziali
    LDAP -> PG: Risposta autenticazione
    alt Autenticazione riuscita
        PG -> User: Fornisce dati
    else Autenticazione fallita
        PG -> User: Negazione accesso
    end
end
@enduml

Il codice inserito nel sito PLANTUML da origine al seguente diagramma UML.


Diagramma UML dell'implementazione del protocollo LDAP nella soluzione architetturale proposta.
Immagine 6.
(Diagramma di sequenza del processo di autenticazione con LDAP)

Pagina Successiva | Pagina Precedente

No votes yet.
Please wait...

Pagine: 1 2 3 4 5 6 7