Настройка прав пользователей в режиме разработки

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Дерево системы > Безопасность >

Настройка прав пользователей в режиме разработки

В режиме исполнения можно организовать работу операторов с различными правами доступа, когда, например, одному пользователю разрешено управление и просмотр всех окон, а другому пользователю ограничен доступ к части окон и к управлению. Один оператор может при старте видеть одну мнемосхему, а другой - другую.

Настраивать права доступа для пользователей можно как индивидуально, так и для группы пользователей.

Для того чтобы в режиме исполнения работали различные операторы с различными правами доступа, необходимо выполнить следующие настройки:

Создать пользователя,

Сформировать роли (при необходимости),

Задать глобальные права доступа,

Уточнить права доступа к конкретным элементам (при необходимости).

Создание пользователя

Пользователи создаются в дереве системы в группе Безопасность.Пользователи.

nastr_prav_dostupa_9

Панель свойств пользователя имеет вид:

nastr_prav_dostupa_1

Свойство

Описание

Имя

Текст, введенный в данном поле, будет отображаться при старте клиента визуализации в окне авторизации в поле Логин.

Пароль

Текст, введенный в данном поле, необходимо повторить в окне авторизации в поле Пароль. Если пароль задан, то в свойстве он отображается как ****. При дублировании пользователя у нового пользователя пароль сбрасывается - строка с паролем остается пустой.
При задании пароля в БД пароли хранятся в хешированном виде с указанием алгоритма хеширования Argon2. Одинаковые пароли имеют различные хеши. При хешировании пароля используется соль, сформированная случайным образом. Соль хранится в БД вместе с хешем пароля и генерируется в случае, если не была задана ранее.

Создание ролей пользователей.

Если несколько пользователей должны обладать одинаковыми правами доступа, то можно создать роль, а затем в нее перетащить нужных пользователей. В результате этого действия в группе Роли появится ссылка на пользователя.

nastr_prav_dostupa_10

Если пользователь принадлежит нескольким ролям одновременно, то в режиме исполнения будут проверяться права всех ролей, в которые назначен пользователь:

Если где-то задан запрет, то формируется общий запрет

Если нет запрета, и где-то задано разрешение, то действие разрешается

Если  где-то установлены флаги Журнал и Подтверждение, то для этого пользователя эти флаги будут всегда срабатывать.

Настройка глобальных прав доступа

Права доступа можно разделить на два типа: Управление и Открытие окон. Именно эти категории прав доступа находятся в группе Безопасность. Права доступа.

nastr_prav_dostupa_3

Права, заданные на уровне дерева системы, будут считаться умолчаниями для всех элементов проекта. В дальнейшем их можно будет переопределить.

Для того чтобы сделать настройки, необходимо в панели свойств элемента Безопасность нажать на кнопку nastr_prav_dostupa_5 , и в таблице установить нужные флаги.

nastr_prav_dostupa_4

В выпадающем списке Право доступа, необходимо выбрать какое именно право планируется настраивать:

nastr_prav_dostupa_6

В таблице в столбце Пользователь показан список пользователей и ролей, которые ранее были добавлены в проект.

Каждому пользователю (роли) можно разрешить или запретить  действие, установив флаг в соответствующей строке.

Флаг, установленный в столбце Запретить, приведет к запрету всех подобных действий по умолчанию для всего проекта. Т.е. если установлены одновременно флаг Разрешить и флаг Запретить, то это означает, что действие для данного пользователя будет запрещено.

Если флаги Разрешить и Запретить не установлены, то это значит, что в текущий момент, пользователь не сможет выполнять подобные действия, но в дальнейшем это действие можно будет разрешить для конкретного элемента.

Для предотвращения случайных нажатий необходимо установить флаг в столбце Подтверждение. Тогда в режиме исполнения, прежде чем выполнится изменение связанного параметра, появится диалоговое окно:

nastr_prav_dostupa_7

Если нажать на кнопку Отмена, то действие не выполнится.

Для фиксации выполненных действий пользователей необходимо установить флаг в столбце Журнал. В этом случае будут создаваться сообщения, сохраняемые в базе данных сообщений. Просмотреть сообщения в клиенте визуализации можно будет при помощи элемента Журнал.

Тексты в окне сообщения и записи о произведенном действии формируется автоматически. Изменить текст сообщения можно, если действие было настроено через события  графических элементов.

Если необходимо фиксировать не только выполненные действия, но и попытки их выполнения, то необходимо дополнительно в настройках роли установить флаг Фиксировать попытки выполнения действий

Важно! Изменить имя пользователя, его пароль, назначение на роль и производить другие действия над ним в режиме исполнения в текущей версии невозможно. Поэтому если требуется выполнять в режиме исполнения какие-либо действия с пользователями необходимо создавать их в режиме исполнения.

Настройка прав доступа элементов

Права доступа конкретного элемента наследуются от его родителей, и могут быть переопределены в непосредственном элементе.

Порядок наследования:

Глобальные права доступа - настраиваются в дереве системы в группе Безопасность, являются умолчаниями для всех элементов проекта

Права объектов  - настраиваются в панели свойств Объекта, являются умолчаниями для всех его дочерних объектов, окон и элементов этих окон.

Права окон - настраиваются в панели свойств Окна, являются умолчаниями для всех его элементов.

Права элемент - настраивается у конкретного элемента.

Для настройки права доступа конкретного элемента необходимо нажать на кнопку nastr_prav_dostupa_5 в его панели свойств

Если у элемента используются права доступа его родителя, то панель свойств будет выглядеть так:

nastr_prav_dostupa_11

Если какое-либо право было изменено для данного элемента, то панель свойств будет иметь вид:

nastr_prav_dostupa_12

Т.е измененные значения будут отображаться ярким шрифтом.

Рассмотрим пример определения права Управление для кнопок. Пусть есть четыре кнопки: первые две кнопки находятся в одном объекте, но в разных окнах, третья и четвертая находятся в другом объекте, в одном и том же окне, и если сессию начнет пользователь, для которого права доступа будут настроены следующем образом:

 

Кнопка 1

Кнопка 2

Кнопка 3

Кнопка 4

Глобальные

Разрешено

Разрешено

Разрешено

Разрешено

Право Объекта

Право не переопределялось

Право не переопределялось

Право переопределено  - Запрещено

Право переопределено  - Запрещено

Право Окна

Право переопределено  - Запрещено

Право не переопределялось

Право не переопределялось

Право не переопределялось

Право Элемента

Право не переопределялось

Право не переопределялось

Право не переопределялось

Право переопределено  - Разрешено

Итог

Запрещено

Разрешено

Запрещено

Разрешено

Старт проекта с настроенными правами доступа.

При старте клиента визуализации производится проверка прав доступа для текущего пользователя. В процессе работы, для каждого залогинившегося оператора будет идти проверка прав доступа.

В случае, если пользователь принадлежит разным ролям с разными правами доступа, то тогда все настройки будут суммироваться. Т.е. если в какой-либо группе действие запрещено, то пользователь выполнить его не сможет.

Если планируется добавлять пользователей и совершать другие действия в режиме исполнения, то порядок настройки будет отличаться. Подробнее об этом смотрите в разделе Работа с пользователями в режиме исполнения

Организация завершения сессии оператора

Сессия работы оператора завершится в следующих ситуациях:

1.Если будет закрыт графический клиент.

2.Если истечет время с момента авторизации пользователя, заданное в свойстве Длительность сессии в настройках Роли.

3.Если будет выполнено действие Завершение сессии. Например, разработчик проекта создал кнопку в окне, а затем в ее событие Клик мыши добавил действие:

nastr_prav_dostupa_8

Смотрите также:

Смотрите также видео, необходимо подключение к интернету: