Привилегии пользователя на часть карты(слоя)? в виде полигона.
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 23 авг 2021, 06:58
- Репутация: 0
- Откуда: Тольятти
Привилегии пользователя на часть карты(слоя)? в виде полигона.
Подскажите пожалуйста.
Есть слои, нужно пользоваетлям разрешить доступ на просмотр и редактирования только части территории в виде полигона.
Т.е. я рисую полигон и пользователь видит(или может редактировать) только то, что есть внутри полигона.
Есть слои, нужно пользоваетлям разрешить доступ на просмотр и редактирования только части территории в виде полигона.
Т.е. я рисую полигон и пользователь видит(или может редактировать) только то, что есть внутри полигона.
-
- Гуру
- Сообщения: 4164
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1106
- Ваше звание: программист
- Откуда: Казань
Re: Привилегии пользователя на часть карты(слоя)? в виде полигона.
такое можно делать в базе, создав View (виртуальный слой) на основе пространственного запроса.
-
- Завсегдатай
- Сообщения: 345
- Зарегистрирован: 11 дек 2006, 09:46
- Репутация: 102
- Откуда: Иркутск
Re: Привилегии пользователя на часть карты(слоя)? в виде полигона.
gamm, на просмотр - да, а вот редактировать... Сразу навскидку возникает пара вопросов, которые скорее всего нерешаемы. Например, удаление объектов, лежащих за пределами разрешённой площади. Или изменения, опять же влияющие на объекты вовне.
- chet2
- Активный участник
- Сообщения: 106
- Зарегистрирован: 08 дек 2016, 09:46
- Репутация: 6
Re: Привилегии пользователя на часть карты(слоя)? в виде полигона.
boa-ig, я создал бы несколько слоев.
Разным пользователям можно было бы редактировать только свои слои.
Далее с помощью sql-запроса я объединил бы все слои в одно представление (view, ”вьюху”) чтобы можно было видеть общую картину.
Это не то что вы спрашивали, просто описал один из вариантов решения вопроса.
Разным пользователям можно было бы редактировать только свои слои.
Далее с помощью sql-запроса я объединил бы все слои в одно представление (view, ”вьюху”) чтобы можно было видеть общую картину.
Это не то что вы спрашивали, просто описал один из вариантов решения вопроса.
-
- Гуру
- Сообщения: 4164
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1106
- Ваше звание: программист
- Откуда: Казань
-
- Завсегдатай
- Сообщения: 345
- Зарегистрирован: 11 дек 2006, 09:46
- Репутация: 102
- Откуда: Иркутск
Re: Привилегии пользователя на часть карты(слоя)? в виде полигона.
gamm, вопрос в том, имеет ли право пользователь своими действиями внутри области менять геометрию за её пределами. На всякие неочевидные мелочи никаких триггеров не напасёшься, и ворочаться это будет очень тяжело.Особенно поддержка топологии.
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 23 авг 2021, 06:58
- Репутация: 0
- Откуда: Тольятти
Re: Привилегии пользователя на часть карты(слоя)? в виде полигона.
Вроде встречал функцию, которую можно встаить в select, а на нее сосздать View, но не помню какая функция.
Если разбросать по разным слоям (таблицам), то во вркемя перемещения по карте нужно будет подгружать из разных таблиц для тех у кого есть доступ на все.
Самый хороший вариант перехватывать select на стадии выполнения и в зависимости от привилегий пользователя добавлять функцию по которой видно только те объекты которые входят внутрь за ранее заданного полигона или пересекают его.
Не пойму как написать такой select (какая функция).
....
можно применять правила (разбить пользователей по ролям, а для ролей присвоить правила)
CREATE [ OR REPLACE ] RULE имя AS ON событие ....
Грубо говоря, правило описывает дополнительные команды, которые будут выполняться при вызове определённой команды для определённой таблицы.
Если разбросать по разным слоям (таблицам), то во вркемя перемещения по карте нужно будет подгружать из разных таблиц для тех у кого есть доступ на все.
Самый хороший вариант перехватывать select на стадии выполнения и в зависимости от привилегий пользователя добавлять функцию по которой видно только те объекты которые входят внутрь за ранее заданного полигона или пересекают его.
Не пойму как написать такой select (какая функция).
....
можно применять правила (разбить пользователей по ролям, а для ролей присвоить правила)
CREATE [ OR REPLACE ] RULE имя AS ON событие ....
Грубо говоря, правило описывает дополнительные команды, которые будут выполняться при вызове определённой команды для определённой таблицы.
-
- Завсегдатай
- Сообщения: 345
- Зарегистрирован: 11 дек 2006, 09:46
- Репутация: 102
- Откуда: Иркутск
Re: Привилегии пользователя на часть карты(слоя)? в виде полигона.
boa-ig, а как точно выглядит задача? Может искомое реализуется более простыми методами
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 23 авг 2021, 06:58
- Репутация: 0
- Откуда: Тольятти
Re: Привилегии пользователя на часть карты(слоя)? в виде полигона.
Есть таблица, в ней геометрия в виде полигонов(город) разбитый на 3 района,
Есть пользователь Р1 (район 1), Р2 (район 2), Р3 (район 3).
Нужно:
V1 - Р1 видитвсе района но редактировать только свой
V2 - Р1 видит только район 1 и редактировать может только его
Аналогично по Р2,Р3.
Есть пользователь которим разрешено все по всем районам.
....
таблиц на самом деле больше, то понять на самом простом примере
.....
по сути классическая задача вертикальное/горизонтальное предоставление привилегий.
Есть пользователь Р1 (район 1), Р2 (район 2), Р3 (район 3).
Нужно:
V1 - Р1 видитвсе района но редактировать только свой
V2 - Р1 видит только район 1 и редактировать может только его
Аналогично по Р2,Р3.
Есть пользователь которим разрешено все по всем районам.
....
таблиц на самом деле больше, то понять на самом простом примере
.....
по сути классическая задача вертикальное/горизонтальное предоставление привилегий.
-
- Завсегдатай
- Сообщения: 345
- Зарегистрирован: 11 дек 2006, 09:46
- Репутация: 102
- Откуда: Иркутск
Re: Привилегии пользователя на часть карты(слоя)? в виде полигона.
boa-ig, а если просто разделить таблицы по районам?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость