Ответы:
Спецификация OGC только обязывает использовать http. Если он соответствует http, все должно быть в порядке.
Некоторые возможные методы:
Это сообщение OGC от 2005 года гласит:
Нет особых аспектов безопасности, которые являются частью Спецификаций интерфейса OGC WMS / WFS / WCS. Вместо этого безопасность и аутентификация лучше всего обрабатываются на другом уровне в стеке обработки.
Если для ваших целей достаточно защиты через неизвестность, вы можете настроить ложное расширение для уровня:
Просто используйте координаты на другой стороне Земли. Слой по-прежнему будет отображаться в списке слоев, запросы по-прежнему будут возможны, но если пользователь просто выберет его в программном обеспечении ГИС и выберет «увеличить до слоя», он ничего не увидит и может подумать, что этот слой просто пуст или его нет Работа. Приложение, знающее правильное расширение уровня, должно иметь доступ к нему.
Я уже видел, как это решение применяется на некоторых сайтах WMS, но, вероятно, оно не полностью соответствует стандартам OGC, поскольку сервер возвращает неверное расширение.
Существуют также специализированные платформы, такие как SecureOWS от CampToCamp: http://www.secureows.org/trac/secureows
Предполагая, что у вас есть следующее:
Вы можете создать api_keys
таблицу с access_token
и expires_at
столбцами. Затем добавьте параметр строки запроса &api_key=my_unique_key
. Ваш Mapfile для tileindex ( см. Пример ) будет настроен примерно так:
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
Идея заключается в том, что ваше отдельное приложение, которое аутентифицирует пользователей в базе данных, обновит api_keys
таблицу, установив access_token
хэш md5 и сохраняя expires_at
столбец обновленным до некоторого момента в будущем.
В качестве альтернативы вы можете проксировать трафик к отдельной платформе, которая обрабатывает аутентификацию WMS / OWS и передает прокси авторизованных пользователей на внутренний Mapserver. Вот список, полученный из сообщения в списке рассылки пользователей mapserver , который представляет собой расширенный / обобщенный список ответов других на этот вопрос.
Если вы когда-нибудь решите использовать Geoserver, взгляните на модуль AuthKey .
http://52north.org/communities/security/general/user_guide.html http://geoprisma.org/site/index.php
http://www.opengeospatial.org/projects/groups/geormwg
ЦСИ: HTTP: //www.delicious.com/based2/bundle: comp.infosystems.gis