Полномочия пользователя 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