Полномочия пользователя ZuluServer определяются набором «прав доступа» указанного пользователя к выбранному им ресурсу. Право доступа – это разрешение или, наоборот, запрещение выполнение определенной операции на сервере. Часть прав доступа могут быть присвоены пользователю независимо от того, к каким ресурсам он обращается, а другая часть определяется ресурсом, к которому пользователь обратился. Например, можно задать, чтобы какой-либо пользователь мог только просматривать данные с сервера, то есть права доступа определяются именем пользователя. Можно указать, что данный ресурс (допустим, слой) имеет право редактироваться определённым пользователем, а остальным нельзя, в этом случае права доступа определяются ресурсом. Возможно ограничить групповое изменения атрибутов (данных) и геометрии, а также установить ограничение пространственным фильтром, состоящим из одного или нескольких полигональных объектов, хранящихся в одном из слоев на сервере
Права доступа для пользователей задаются в отдельно файле конфигурации Access.cfg. Имя этого файла и путь можно изменить в основном файле конфигурации сервера:
#Фрагмент файла ZuluServ.cfg
AccessConf .\Access.cfg
Файл Access.cfg содержит информацию о пользователях (помимо
файла пользователей .zsusers), «ролях» и «группах». Настройка прав доступа может
производиться путем редактирования файла Access.cfg вручную или
c помощью утилиты Администратор
ZuluServer.
В следующей таблице перечислены возможные права доступа:
Таблица 3. Права доступа
|
Права доступа |
Предоставляемые возможности | |
|---|---|---|
|
Общие | ||
|
all |
Все операции |
Разрешить все операции. |
|
read |
Чтение |
Возможность читать (просматривать) данные. |
|
write |
Запись |
Возможность записывать (создавать, редактировать, удалять) данные. |
|
Сервер | ||
|
server-config |
Управление сервером |
Возможность удаленно изменять конфигурацию сервера. |
|
server-login |
Управление пользователями |
Возможность удаленно управлять правами пользователей. |
|
Папки | ||
|
folder-create |
Создание |
Возможность создавать новые папки на сервере геоданных. |
|
folder-delete |
Удаление |
Возможность удалять папки на сервере геоданных. |
|
Слой | ||
|
layer-read |
Чтение |
Возможность читать (просматривать) все данные слоя. |
|
layer-read-geom |
Геометрия |
Возможность читать (просматривать) графические данные слоя. |
|
layer-read-attr |
Атрибуты |
Возможность читать (просматривать) семантические данные слоя. |
|
layer-enum-elem |
Перечисление |
Возможность программно получать выборки элементов слоя (экспорт, копирование графических данных, построение пьезометрических графиков). |
|
layer-create |
Создание |
Возможность создавать новые слои. |
|
layer-delete |
Удаление |
Возможность удалять слои. |
|
layer-alter (layer-write) |
Изменение |
Возможность редактировать данные слоя. |
|
layer-alter-attr |
Атрибуты |
Возможность изменять семантические данные слоя. |
|
layer-alter-attr-single | Атрибуты: Одиночное | Возможность изменения атрибутов только для одиночных объектов. |
|
layer-alter-attr-group | Атрибуты: Групповое | Возможность группового изменения атрибутов объектов. |
|
layer-alter-mode |
Режимы |
Возможность менять режим элементов. |
|
layer-alter-geom |
Геометрия |
Возможность изменять геометрию элементов слоя. |
|
layer-alter-geom-single | Геометрия: одиночное | Возможность изменения геометрии только для одиночных объектов. |
|
layer-alter-geom-group |
Геометрия: групповое | Возможность группового изменения геометрии объектов. |
|
layer-alter-struct |
Структура |
Возможность редактировать структуру слоя. |
|
layer-alter-proj |
Проекция |
Возможность изменять проекция слоя (систему хранения слоя). |
|
layer-create-elem |
Добавление элементов |
Возможность добавлять элементы в слой. |
|
layer-delete-elem |
Удаление элементов |
Возможность удалять элементы слоя. |
|
layer-delete-elem-single |
Удаление элементов: одиночное |
Возможность удаления одиночного объекта. |
|
layer-delete-elem-group |
Удаление элементов: групповое |
Возможность удаления группы объектов. |
|
Надписи | ||
|
label-read |
Чтение |
Возможность чтения (просмотра) шаблонов надписей. |
|
label-create |
Создание |
Возможность создавать и пересоздавать шаблоны надписей. |
|
label-delete |
Удаление |
Возможность удалять шаблоны надписей. |
|
label-alter |
Изменение |
Возможность перемещать надписи на карте в режиме Редактор. |
|
Темы | ||
|
theme-read |
Чтение |
Возможность чтения (просмотра) тематических раскрасок. Если прав на чтение нет, то пользователь не сможет включить и увидеть тематические раскраски. |
|
theme-create |
Создание |
Возможность создавать новые тематические раскраски. |
|
theme-delete |
Удаление |
Возможность удалять тематические раскраски. |
|
theme-alter |
Изменение |
Под изменением раскраски имеется в виду не изменение тематического фильтра, а обновление раскраски – возможность изменять и обновлять существующие тематических раскрасок. Если прав на изменение нет, то пользователь не сможет обновить тематическую раскраску (и не сможет включить или отключить автообновление раскраски). Если прав на изменение нет, но в раскраске включено Автообновление, то раскраска будет автоматически обновляться (но ручное обновление пользователю будет недоступно). |
|
Карты | ||
|
map-read |
Чтение |
Возможность открывать карты. |
|
map-create |
Создание |
Возможность создавать новые карты. |
|
map-delete |
Удаление |
Возможность удалять карты. |
|
map-alter |
Изменение |
Возможность изменять карты. |
|
Проекты | ||
|
project-read |
Чтение |
Возможность открывать проекты. |
|
project-create |
Создание |
Возможность создавать новые проекты. |
|
project-delete |
Удаление |
Возможность удалять проекты. |
|
project-alter |
Изменение |
Возможность изменять проекты. |
В дальнейшем в файле конфигурации Access.cfg и в других
файлах при указание конкретных прав доступа используется следующий синтаксис:
#операции, которые разрешаются
allow: layer-read layer-alter
#операции, которые запрещаются
deny: layer-create-elem layer-delete-elem