21
Gestione lato server di permessi utente verso servizi OGC GeoShield SUPSI OGC Cannata Massimiliano - Antonovic Milan Istituto Scienze della Terra - SUPSI - Switzerland Lugano 11-12 Febbraio 2010 FOSS4G-IT

Gestione lato server di permessi utente verso servizi OGC

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Gestione lato server di permessi utente verso servizi OGC

GeoShield

SUPSI

OGC

Cannata Massimiliano - Antonovic Milan

Istituto Scienze della Terra - SUPSI - Switzerland

Lugano11-12 Febbraio 2010

FOSS4G-IT

Indice degli argomenti

Introduzione

Implementazioni OGC

Architettura di un sistema aperto

Architettura GeoShield

Tecnologie

Design Pattern

Portale di amministrazione

Esempio con il WMS

Dimostrazione

Lavori in corso

Domande

Introduzione

Progetti di dominio pubblici Progetti privati

(dati sensibili)

Sistema aperto

L'Istituto Scienze della Terra

Sistema protetto

Implementazioni OGCall'Istituto Scienze della Terra

WMS, WFS, WCS

Web Processing Service

istSOS sensor observation service

Internet

Analisi Ogni servizio è libermente

accessibile dal Web

ConsultazioneWMS

Applicationi

WFS

SOS

WPS

Architettura di un sistema apertoStruttura del sistema

Accesso applicazioni web

Autenticazione utente (?)

Richiesta mappa

Processamento dati

Flusso del lavo ro

Consultazione

Applicationi

WMS

WPS

Architettura di un sistema apertoLogica delle applicazioni

Internetsu HTTPS

Analisi

Priv

ate

Net

wor

k

Ogni servizio

è protetto

da GeoShield

Consultazione

Architettura di GeoShieldStruttura del sistema

WMS

Applicazioni

WFS

SOS

WPS

Internetsu HTTPS

Analisi

Priv

ate

Net

wor

k

GeoShield comunica con i servizi nella

loro lingua

Consultazione

Architettura di GeoShieldStruttura del sistema

WMS

Applicazioni

WFS

SOS

WPS

Accesso applicazione web

Autenticazione utente

Richiesta mappa

Processamento richiesta

Session e di lav oro

Banca Dati

UtentiWMS

Consultazione

WPS

Architettura di GeoShieldLogica delle applicazioni

Java Servlet:

- Gestione richieste HTTP

GeoTools, GeoApi: - Conversione da CQL a OGC:FILTER

- Fusione/Combinazione dei filtri

Persistence Api (TopLink lib):

- Mappatura del database con oggetti Java

PostgreSQL database- Immagazzina permessi sui servizi da parte di utenti e gruppi

Tecnologie

ExtJS interface

- Gestione tramite un interfaccia Web

Lato Server

Amministrazione Web

Vantaggi:

Architettura modulareAggiunta semplice di filtri

per nuovi servizi

Reindirizzare le richieste HTTPPer esempio: redirezione ad una pagina di login

Pre-processamento e post-processamentoModifica attiva delle richieste client

e delle risposte del servizio

Design PatternIntercepting filter pattern

Sviluppato usando il framework

Accesso con autenticazione

Interfaccia in stile Desktop

Gestione gruppi e utenti

Inizializzazione servizi

Definizione permessi

Portale di amministrazione

Accessibile con qualsiasi client OGC-WMS

Privilegi di accesso:- Definizione modalità ai singoli layer- Definizione di permessi sulle singole feature- Definizione di aree di visibilità.

I privilegi vengono definiti con l'ausilio di Common Query Language (CQL), un linguaggio compatto e comprensibile, che permette interessanti combinazioni di creazione di permessi.

Esempio con il WMSFunzionalità principale

Consultazione

http:www.myurl.ch/geoshield/map/srv1?

REQUEST=GetMap&

BBOX=-97.105,24.913,-78.794,36.358&

WIDTH=560&HEIGHT=350&

LAYERS=DEMO&

FORMAT=image/png&

SERVICE=WMS

GeoShiel

d

(...)

Esempio con il WMS Ciclo di vita di una richiesta GetMap

Filtro di

Autenticazione

L'utente è autenticato

L'utente non è autenticato

Risposta codice HTTP

401 Unauthorized

Filtro dei

Servizi

Richiesta WMS GetMap

L'utente non ha il permesso

di accedere al servizio richiesto

Risposta codice HTTP

403 Vorbidden

Accesso al servizio permesso

Filtro del

WMS

L'utente non ha il permesso

di accedere al LAYER richiestoRisposta codice HTTP

403 Vorbidden

(...)

(...)

Filtro del

WMS

(...)

- Caricamento dei filtri CQL per il layer richiesto:“BBOX(the_geom, 147.15,-43, 147.5,-42.75)”

- Conversione da CQL a OpenGIS Filter Encoding“<ogc:Filter>

<ogc:BBOX>

<ogc:PropertyName>the_geom</ogc:PropertyName>

<gml:Box>

<gml:coordinates>147.15,-43, 147.5,-42.75</gml:coordinates>

</gml:Box>

</ogc:BBOX>

</ogc:Filter>”

(...)

Consultazione

GeoShieldhttp:www.otherurl.ch/map/wms?

REQUEST=GetMap& [...]

Filter=

<ogc:Filter>

<ogc:BBOX>

<ogc:PropertyName>

the_geom

</ogc:PropertyName>

<gml:Box>

<gml:coordinates>

147.15,-43, 147.5,-42.75

</gml:coordinates>

</gml:Box>

</ogc:BBOX>

</ogc:Filter>

Mappa generata

GeoShield restituisce

la mappa

Inoltro della richiesta al server wms

con il parametro FILTER modificato

WMS

Gestione di utenti e gruppi centralizzata

Processamento di qualsiasi tipo richiesta OGC WMS

Fusione dei filtri utente in entrata con i permessi GeoShield

Creazione di filtri Common Query Language (CQL)- Uso di operatori spaziali per stabile i permessi di accesso

Gestione dei permessi di una o più istanze WMS anche se dislocate su server diversi

Esempio con il WMSPunti forti

Integrazione servizi supplementari:- WFS- WPS- SOS

Miglioramento interfaccia Web con OpenLayers per la definizione e test dei permessi WMS o WFS

Integrazione applicazioni preesistenti- Centralizzazione dell'autenticazione degli utenti

Lavori in corso

Cannata Massimiliano - Antonovic Milan

Istituto Scienze della Terra:http://www.ist.supsi.ch

Divisione Geomatica: http://istgeo.ist.supsi.ch

Domande?Lugano

11-12 Febbraio 2010

FOSS4G-IT