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

Integrazione del protocollo OAUTH con il protocollo LDAP, una seconda soluzione un po’ più sicura.

In questa soluzione è presente un server OAUTH configurato in modo tale da utilizzare LDAP come protocollo di autenticazione. Ovviamente, in GeoServer bisogna installare il plugin di autenticazione OAUTH.

Per non annoiarvi con una lunga descrizione vi propongo il codice per la rappresentazione del diagramma di sequenza dell’interazione dei componenti di quest’ultima architettura che vi ho proposto.

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

User -> OL: Accede all'applicazione
OL -> GS: Richiede layer protetto
GS -> GS: Verifica token OAuth
alt Token non presente o non valido
    GS -> OL: Errore 401 (Non autorizzato)
    OL -> User: Reindirizza alla pagina di login OAuth
    User -> OAuth: Inserisce credenziali LDAP
    OAuth -> LDAP: Verifica credenziali
    LDAP -> OAuth: Risposta autenticazione
    alt Autenticazione riuscita
        OAuth -> User: Rilascia token OAuth
        User -> OL: Ritorna con token OAuth
        OL -> GS: Richiede layer con token OAuth
        GS -> GS: Verifica token con Provider OAuth2
        GS -> OL: Fornisce layer
    else Autenticazione fallita
        OAuth -> User: Mostra errore
    end
else Token valido
    GS -> OL: Fornisce layer
end
group Accesso a PostgreSQL/PostGIS (opzionale con middleware)
    User -> PG: Richiede accesso ai dati con token OAuth
    PG -> OAuth: Verifica token
    OAuth -> PG: Risposta verifica token
    alt Token valido
        PG -> User: Fornisce dati
    else Token non valido
        PG -> User: Negazione accesso
    end
end
@enduml

Come per il precedente esempio, se tale codice lo applichiamo nel sito di PLANTUML apparirà il seguente diagramma di sequenza come di seguito mostrato.

Diagramma UML dell'implementazione del protocollo LDAP e OAUTH nella soluzione architetturale proposta.
Immagine 7.
(Diagramma UML dell’applicazione dei protocolli UML e OAUTH nell’architettura software proposta)

La soluzione proposta in questo secondo caso è assolutamente robusta in termini di sicurezza. Malgrado ciò, si potrebbe continuare a scalare in termini di sicurezza introducendo la possibilità di utilizzare un meccanismo “Multi-Factor Authentication” (Autenticazione a più fattori), ma questa è un altra storia e forse un altro articolo.

Conclusioni

La comprensione del protocollo LDAP dovrebbe essere abbastanza chiara soprattutto nell’ambito applicativo di un sistema informativo territoriale e di conseguenza di qualsiasi altro progetto. Probabilmente, l’articolo risulterà un po’ troppo di nicchia, e forse un po’ troppo semplice, ma potrebbe essere utile per un primo approccio.

Come al solito, per  eventuali domande, integrazioni e correzioni inviate un e-mail a webmaster@megalinux.cloud.

Sostenete The Megalinux: In un mare di siti web sovraccarichi di pubblicità invadente, The Megalinux si distingue come l’unico rifugio libero da annunci. Abbiamo scelto di offrirvi un’esperienza di navigazione pulita e ininterrotta, ma per fare ciò, abbiamo bisogno del vostro supporto. Considerate l’idea di contribuire alla nostra missione inviando Bitcoin al nostro indirizzo. Anche una piccola donazione può fare la differenza e ci aiuterà a mantenere il sito libero da pubblicità.

È davvero difficile immaginare che esista qualcuno che, indipendentemente dalle donazioni ricevute (che non ci sono), continui a scrivere in totale libertà, tutto ciò o quasi che trova interessante?

3LpoukFpvDHTZPn5qGbLwUzve3rX9zsSq6

Pagina Precedente

No votes yet.
Please wait...

Pagine: 1 2 3 4 5 6 7