RUS  ENG 

пространственное ограничение доступа к ресурсам

Страницы: 1 2 След.
RSS
пространственное ограничение доступа к ресурсам
 
(ZuluServer 7.0) указываю в папке с картой в файле .zsaccess
require valid-user
<permit>
group Centrwriter
allow: read
deny: write alter create delete server-config server-login
</permit>

<restricted-area>
user centr_test
<region>
layer C:\Zulu\Data\Centrraion\area_raion.zl id 1
</region>

criterium full-inside
</restricted-area>

и не работает, для пользователя нет ограчения. Где ошибка?
 
Попробуйте так
<region>
layer C:\Zulu\Data\Centrraion\area_raion.zl
id 1
</region>

В старом описании не было переноса. Сейчас есть: http://politerm.com.ru/zuluserver/doc/zsaccess.htm#restricted

И чтобы этот слой не входил в папку или подпапку фильтруемых данных. (Чтоб сам себя не фильтровал)
 
все равно не выходит. уже вставила этот текст во все папки в которых лежат данные используемые картой и все равно не ограничивает.
 
получилось. Был лишний пробел после area_raion.zl
Спасибо
 
А какой у вас номер сборки? Вроде уже давно исправляли такие строки с лишними пробелами.
 
Объясните пожалуйста подробнее как работает пространственное ограничение. И что я делаю не так?! Хочу для User1 ограничить область редактирования определенной областью.
1 Заданное критерие разрешает редактирование в описанной области или запрещает?
2 Как писать относительные пути? Пусть у меня в папке Data на сервере папка со слоем полигональных областей для ограничений Data\Restricted_area\restriction.zl, также в папке Data папка с картой Data\OurMaps\OurMapsLaers\<тут слои>, Data\OurMaps\OurMaps.zmp, Data\OurMaps\.zsaccess
В файле .zsaccess
<permit>
user User1
allow: read write
deny: server-config server-login
</permit>
require user User1
<restricted-area>
<region>
layer ..\Restricted_area\restriction.zl
id 4
</region>
criterium full-outside
</restricted-area>
даже <user> убрал из <restricted-area> а все равно USER1 может редактировать по всему слою.
 
1. Заданный критерий разрешает. В Вашем примере разрешено все, что снаружи региона с id=4 и слоя ..\Restricted_area\restriction.zl
2.Про относительные пути: https://ru.wikipedia.org/wiki/%D0%9F%D1%83%D1%82%D1%8C_%D0%BA_%D1%84%D0%B0%D0%B9%D0%BB%D1%83
В Вашем примере относительно текущего взять родительскую папку и от нее далее по оставшемуся пути. Для надежности, задайте сперва полный путь. Убедитесь, что по нему есть этот слой и в нем объект с id 4
Сделал у себя пример, все работает:

<restricted-area>
user aaa
<region>
layer ..\region\district.zl
id 9
</region>
criterium full-inside
</restricted-area>
 
Получилось! Как только я выбирал под полигональной областью непрозрачный квадрат. Если выбрать прозрачный то не работает.
Не уверен что это проблема программы, наверное я чего то не так делаю.
При этом работает оба варианта inside и outside.
Объясните по возможности в чем проблема, просто в хелпе я не увидел явного указания использовать залитые полигональные области и начал с пустых.
 
Возможно то, что Вы называете "прозрачный", это не площадной объект, а просто замкнутая полилиния? А для задания области нужен именно площадной объект. Он тоже может быть прозрачным, если задан прозрачный стиль заливки.
 
Да, моя ошибка. Спасибо. Разобрался. Так и есть выбирал полилинию, а не площадной объект.
 
Еще вопрос.
Пространственным ограничением я добился полного скрытия заданной области с карты(слоя). А есть вариант просто ограничить редактирование, но при этом оставить эту область видимой для пользователя?
 
Сейчас нет.
 
Lyosha, А сейчас появилась возможность просто ограничить редактирование, но при этом оставить эту область видимой для пользователя?
 
Сейчас не появилась, т.к. так задача не ставилась. Можно запланировать и сделать.
 
Добавили возможность ограничивать пространственным фильтром редактирование с сохранением возможности отрисовывать.
В этом случае в секцию <restricted-area> файла .zsaccess нужно добавить параметр "allow draw"

require: valid-user
<restricted-area>
user aaa
<region>
layer ..\region\district.zl
id 9
</region>
criterium full-inside
allow draw
</restricted-area>
 
"Параметр id секции region содержит список ключей ID (разделенных пробелами) полигональных объектов из указанного слоя. Параметр id может встречаться в каждой секции region многократно."

Где посмотреть этот id?
 
Зайти в Zulu, открыть слой с полигонами, заморгать нужный полигон и внизу в строке прочитать его ID
 
[img]file:///D:/MEGA/2017/7%D0%B8%D1%8E%D0%BB%D1%8C/%D0%9C%D0%B8%D0%B0%D1%81%D1%81/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.png[/img]https://yapx.ru/v/QrXK


где?
 
Полигональных объекты с ID могут содержаться только в векторном слое. Причем тут плитки?
 
:facepalm:
Изменено: Raul - 15.08.2017 14:18:54
 
Цитата
Raul написал:
id имеются ввиду номера источников?

Здравствуйте, Raul

По id подразумеваются системный идентификатор (sys) определённого полигона.


Код

<restricted-area>
    user ivanov sidorov
    <region>
        layer D:\ZuluData\regions.zl
        id 10
    </region>
    criterium full-inside
</restricted-area>



, где user: это пользователи ivanov и sidorov
layer: указывает путь к слою, содержащему полигоны, составляющие область ограничения
id: системный идентификатор полигона
 
Кажется я допер. Надо просто созать новый слой с сетью, нарисовать на нем границы нужных мне районов, а нужные районы открыть для нужный пользователей? я просто думал что это надо делать слоями типа google или OSM
 
Нет. Нужно именно другой слой с районами. И в другой папке с независимыми от редактируемого слоя правами. Нельзя ограничивать права на объекты слоя, объектами того же слоя.
 
Цитата
Raul написал:
:facepalm:
;)
Полигоны должны быть нарисованы в отдельном слое.

Будут вопросы, свяжитесь со мной

Жуков Роман
[email protected]
+7 (812) 767-0352
+7 (812) 767-0353
+7 (812) 766-6728
Skype: r...o...m...a...n
 
Цитата
Алексей Аширов написал:
Нет. Нужно именно другой слой с районами. И в другой папке с независимыми от редактируемого слоя правами. Нельзя ограничивать права на объекты слоя, объектами того же слоя.
"Надо просто созать новый слой с сетью, нарисовать на нем границы нужных мне районов"

Я же вроде так и написал. Или нет?) имеется ввиду не с сетью, а создать новый слой сети во вкладке сервис.
Страницы: 1 2 След.