Права доступа

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