Odpowiedzi:
Specyfikacja OGC wymaga tylko użycia http. Jeśli jest zgodny z http, powinno być w porządku.
Niektóre możliwe metody:
Ten post OGC z 2005 roku mówi:
Nie ma określonych aspektów bezpieczeństwa, które są częścią specyfikacji interfejsu OGC WMS / WFS / WCS. Zamiast tego bezpieczeństwo i uwierzytelnianie najlepiej obsługiwać na innej warstwie stosu przetwarzania.
Jeśli zabezpieczenia wynikające z niejasności są wystarczające, możesz skonfigurować fałszywe rozszerzenie dla warstwy:
Po prostu użyj współrzędnych po drugiej stronie Ziemi. Warstwa nadal będzie wyświetlana na liście warstw, żądania będą nadal możliwe, ale jeśli użytkownik po prostu wybierze ją w oprogramowaniu GIS i wybierze „powiększ do warstwy”, nic nie zobaczy i może pomyśleć, że ta warstwa jest po prostu pusta lub nie praca. Aplikacja znająca prawidłowe rozszerzenie warstwy powinna nadal mieć do niej dostęp.
Widziałem już to rozwiązanie stosowane na niektórych stronach WMS, ale prawdopodobnie nie jest całkowicie zgodne ze standardami OGC, ponieważ serwer zwraca nieprawidłowe rozszerzenie.
Istnieją również wyspecjalizowane frameworki, takie jak SecureOWS by CampToCamp: http://www.secureows.org/trac/secureows
Zakładając, że masz następujące elementy:
Można utworzyć api_keys
tabelę access_token
i expires_at
kolumny. Następnie dodaj parametr querystring &api_key=my_unique_key
. Twój Mapfile dla tileindex ( patrz przykład ) byłby skonfigurowany mniej więcej tak:
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
Pomysł polega na tym, że twoja osobna aplikacja, która uwierzytelnia użytkowników w bazie danych, zaktualizuje api_keys
tabelę, ustawiając access_token
wartość skrótu md5 i utrzymując expires_at
kolumnę aktualizowaną do pewnego momentu w przyszłości.
Alternatywnie, możesz proxy ruchu do oddzielnej struktury, która obsługuje uwierzytelnianie WMS / OWS i proxy autoryzowanych użytkowników do wewnętrznego Mapserver. Oto lista uzyskana z postu na liście mailingowej mapserver-users , która jest rozwiniętą / podsumowaną listą odpowiedzi innych osób na to pytanie.
Jeśli kiedykolwiek zdecydujesz się użyć Geoservera, spójrz na moduł 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