Реализовать ограничение прав на доступ к объектам в Geoserve
-
- Активный участник
- Сообщения: 178
- Зарегистрирован: 16 июл 2008, 09:56
- Репутация: 1
- Откуда: Москва
Реализовать ограничение прав на доступ к объектам в Geoserve
А как на Geoserver, к примеру, реализовать ограничение прав на доступ к объектам? Например, у меня есть таблицы point, users, users_points_right - последняя с правами пользователей на точки. Как выбрать только те точки, доступ к которым разрешён для текущего пользователя web сервиса? Мне кажется, это правильней сделать в каком-то промежуточом скрипте-прокси между пользователем и WMS сервером. Есть ли какие-то стандартные способы строить такие прокси, может быть к geoserver можно дописать какой-то плагин?
Откуда взялся такой вопрос: ограничение прав можно было бы сделать, воспользовавшись встроенными средствами фильтрации данных - CQL, например (см. статью http://gis-lab.info/qa/wms-filter.html), но это неправильно - на стороне клиента такие вставки делать нельзя. Можно было бы перехватить запрос к серверу и добавить в CQL нужное ограничение - примерно так делает MapGuide. Мне кажется, добавление своего фильтрующего слоя в обработке WMS (и других) запросов правильный путь, но как лучше это сделать - непонятно.
Откуда взялся такой вопрос: ограничение прав можно было бы сделать, воспользовавшись встроенными средствами фильтрации данных - CQL, например (см. статью http://gis-lab.info/qa/wms-filter.html), но это неправильно - на стороне клиента такие вставки делать нельзя. Можно было бы перехватить запрос к серверу и добавить в CQL нужное ограничение - примерно так делает MapGuide. Мне кажется, добавление своего фильтрующего слоя в обработке WMS (и других) запросов правильный путь, но как лучше это сделать - непонятно.
Последний раз редактировалось Konstantin Tokar 09 фев 2011, 12:47, всего редактировалось 2 раза.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Серверы WMS и фильтрация данных
:-\
Последний раз редактировалось Mavka 09 фев 2011, 12:59, всего редактировалось 1 раз.
лангольеры под окном жрали время ом-ном-ном
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: ограничение прав на доступ
Если судить по заголовку, то для этого в GeoServer есть своя система ACL. А если по тексту вопроса - все гораздо запутаннее и ноги растут из БД. Напишите подробнее как вы сами видите решение задачи.
Не заметил вашу правку...
1. Система ACL в GeoServer. Рассчитана на то, что в программе создается множество слоев отдельно для каждого пользователя (или группы). Т.е. создается несколько подключений к БД от имени разных пользователей. При обращении к GeoServer пользователь получает список слоев и возможность работы с ними только в рамках своих прав.
2. Можно попытаться пробросить авторизацию в БД. Например, в UMN MapServer в файле настроек указать изменяемую строку подключения к БД:
в строке запроса к серверу WMS передавать параметры
Не заметил вашу правку...
1. Система ACL в GeoServer. Рассчитана на то, что в программе создается множество слоев отдельно для каждого пользователя (или группы). Т.е. создается несколько подключений к БД от имени разных пользователей. При обращении к GeoServer пользователь получает список слоев и возможность работы с ними только в рамках своих прав.
2. Можно попытаться пробросить авторизацию в БД. Например, в UMN MapServer в файле настроек указать изменяемую строку подключения к БД:
Код: Выделить всё
CONNECTION "host=localhost dbname=my_dbase user=%user% password=%pass%"
Код: Выделить всё
...&user=vasya&pass=secret
лангольеры под окном жрали время ом-ном-ном
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Реализовать ограничение прав на доступ к объектам в Geos
А вот здесь (http://apps.geomajas.org/showcase/) все сделано "из коробки"
Ограничения по географии, по таблицам, записям и даже полям.
Посмотрите примерчики в разделе "security"
Ограничения по географии, по таблицам, записям и даже полям.
Посмотрите примерчики в разделе "security"
-
- Активный участник
- Сообщения: 178
- Зарегистрирован: 16 июл 2008, 09:56
- Репутация: 1
- Откуда: Москва
Re: Реализовать ограничение прав на доступ к объектам в Geos
Посмотрел... Конкретно разделы, посвящённые Security, представлены в шаблонном виде - ничего не делают, и в документации отсутствуют с пометкой TODO. Вообще проект молодой. и чтобы с ним работать надо яву хорошо знать.Bishop писал(а):А вот здесь (http://apps.geomajas.org/showcase/) все сделано "из коробки"
Ограничения по географии, по таблицам, записям и даже полям.
Посмотрите примерчики в разделе "security"
-
- Активный участник
- Сообщения: 178
- Зарегистрирован: 16 июл 2008, 09:56
- Репутация: 1
- Откуда: Москва
Re: ограничение прав на доступ
Авторизация - это то, что делается один раз, после используется какая-то реализация security token с помощью сессий. Что , к примеру, может понадобиться: "показать объекты пользователя и его друзей". Нужно либо на стороне сервера реализовать плагин для таких фильтров, либо придумать как до запроса к серверу преобразовать запрос от клиента, чтобы он содержал нужные фильтры. Простор для творчества есть.Mavka писал(а):2. Можно попытаться пробросить авторизацию в БД. Например, в UMN MapServer в файле настроек указать изменяемую строку подключения к БД:в строке запроса к серверу WMS передавать параметрыКод: Выделить всё
CONNECTION "host=localhost dbname=my_dbase user=%user% password=%pass%"
Код: Выделить всё
...&user=vasya&pass=secret
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей