Risposte:
Le specifiche OGC prevedono solo l'uso di http. Se è conforme a http, dovrebbe essere a posto.
Alcuni metodi possibili:
Questo post OGC del 2005 dice:
Non ci sono aspetti di sicurezza specifici che fanno parte delle specifiche dell'interfaccia OGC WMS / WFS / WCS. Invece, la sicurezza e l'autenticazione sono gestite al meglio su un altro livello nello stack di elaborazione.
Se la sicurezza attraverso l'oscurità è sufficiente per i tuoi scopi, puoi configurare un falso estensione per il livello:
Usa le coordinate sull'altro lato della Terra. Il layer verrà comunque visualizzato nell'elenco dei layer, le richieste saranno comunque possibili ma se un utente lo seleziona semplicemente in un software GIS e sceglie "zoom su layer" non vedrà nulla e potrebbe pensare che questo layer sia semplicemente vuoto o no opera. Un'applicazione che conosce l'estensione corretta del livello dovrebbe essere ancora in grado di accedervi.
Ho già visto questa soluzione applicata su alcuni siti WMS, ma probabilmente non è completamente conforme agli standard OGC poiché il server restituisce un'estensione errata.
Esistono anche framework specializzati come SecureOWS di CampToCamp: http://www.secureows.org/trac/secureows
Supponendo che tu abbia il seguente:
È possibile creare una api_keys
tabella con access_token
e expires_at
colonne. Quindi aggiungere un parametro querystring &api_key=my_unique_key
. Il tuo Mapfile per il tileindex ( vedi esempio ) sarebbe configurato in questo modo:
DATA "geom FROM (
SELECT
my_table.geom,
my_table.gid,
api_keys.access_token
FROM my_table
CROSS JOIN api_keys
WHERE ST_Intersects(geom, !BOX!) and api_keys.expires_at > now()
) AS subquery USING UNIQUE gid USING SRID=4326"
FILTER "access_token = '%api_key%'
VALIDATION
'api_key' '^[a-zA-Z0-9\_\-]{33}$'
'default_api_key' ''
END
L'idea è che l'applicazione separata che autentica gli utenti nel database aggiornerebbe la api_keys
tabella, impostandola access_token
su un hash md5 e mantenendo la expires_at
colonna aggiornata ad un certo punto in futuro.
In alternativa, puoi delegare il traffico a un framework separato che gestisce l'autenticazione WMS / OWS e inoltra gli utenti autorizzati al Mapserver interno. Ecco un elenco ottenuto da un post nella mailing list degli utenti di mapserver , che è un elenco espanso / riepilogativo di ciò che gli altri hanno risposto a questa domanda.
Se decidi di usare Geoserver, dai un'occhiata al modulo AuthKey .
http://52north.org/communities/security/general/user_guide.html http://geoprisma.org/site/index.php
http://www.opengeospatial.org/projects/groups/geormwg
src: http: //www.delicious.com/based2/bundle: comp.infosystems.gis