Страница 1 из 1

Фильтрация данных TinyOWS согласно прав пользователя

Добавлено: 21 янв 2014, 11:25
Uno
В процессе выбора картографического веб-сервиса, позволяющего на стороне сервера фильтровать выдаваемые данные на уровне строк таблицы, пришёл к MapServer и MapScript (GeoServer так и не удалось победить).

С WMS всё прекрасно - пользователь авторизуется, подтягиваются его права, накладываются фильтры.
WFS в плане выдачи также фильтруется без нареканий.

Но выяснился неприятный факт - WFS-T при использовании MapServer можно получить только с помощью TinyOWS, который, как я понял, через MapScript не пропустишь (не нашёл об этом упоминаний вообще).

Если бы данные использовались только веб-сервисом, проблем бы не было - можно получать и записывать геоданные напрямую в БД вообще без WFS (например, в WKT), контролируя права в веб-приложении на уровне сервера. Но предполагается, что одну и ту же базу с геоданными используют разные клиенты: веб-сервисы, веб-клиенты, настольные GIS и т.д.

Как раз в случае настольной ГИС, используемой для редактирования данных по WFS-T протоколу, мне и нужно найти решение по фильтрации данных на стороне WFS-сервера.

Вопросы:
1. Правильно ли я понял, что TinyOWS через Mapscript не работает?
2. Стоит ли связываться с фильтрацией WFS-T через прокси? Можете посоветовать конкретные прокси? Мне не удалось найти варианты реализации TinyOWS + proxy.

Как вариант для настольной GIS рассматриваю контроль прав на уровне СУБД (подключение QGIS напрямую к PostGIS), но он не очень удобен - механизмы контроля прав дублируют друг друга и реализуются разными способами, что потенциально ведёт к несогласованности, ошибкам и увеличению накладных расходов на обслуживание системы.