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