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

Полномочия пользователя ZuluServer определяются набором «прав доступа» указанного пользователя к выбранному им ресурсу. Право доступа — это разрешение или, наоборот запрещение выполнение определенной операции на сервере. Часть прав доступа могут быть присвоены пользователю независимо от того, к каким ресурсам он обращается, а другая часть определяется ресурсом, к которому пользователь обратился. Например, можно задать, чтобы какой-либо пользователь мог только просматривать данные с сервера, то есть права доступа определяются именем пользователя. Можно указать, что данный ресурс (допустим, слой) имеет право редактироваться определённым пользователем, а остальным нельзя, в этом случае права доступа определяются ресурсом. Возможно ограничить групповое изменения атрибутов (данных) и геометрии, а также ограничение пространственным фильтром, состоящим из одного или нескольких полигональных объектов, хранящихся в одном из слоев на сервере

Права доступа для пользователей задаются в отдельно файле конфигурации Access.cfg. Имя этого файла и путь можно изменить в основном файле конфигурации сервера:

    #Фрагмент файла ZuluServ.cfg
    AccessConf	.\Access.cfg            

Файл Access.cfg содержит информацию о пользователях (помимо файла пользователей .zsusers), «ролях» и «группах». Настройка прав доступа может производиться либо путем редактирования файла Access.cfg вручную, либо c помощью утилиты Администратор ZuluServer.

В следующей таблице перечислены возможные права доступа:

Таблица 3. Права доступа

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

Предоставляемые возможности

Общие

all

Все операции

Разрешить все операции

read

Чтение

Возможность читать(просматривать) данные

write

Запись

Возможность записывать (создавать, редактировать, удалять) данные

Сервер

server-config

Управление сервером

Возможность удаленно изменять конфигурацию сервера

server-login

Управление пользователями

Возможность удаленно управлять правами пользователей

Слой

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-create-elem

Добавление элементов

Возможность добавлять элементы в слой

layer-delete-elem

Удаление элементов

Возможность удалять элементы слоя

layer-delete-elem-single

Удаление элементов: одиночное

Возможность удаления одиночного объекта.

layer-delete-elem-group

Удаление элементов: групповое

Возможность удаления группы объектов.

Карты

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