3.3. Пользователи

Редактирование учётных записей пользователей системы и их прав доступа осуществляется на вкладке Пользователи интерфейса администратора.

3.3.1. Наборы прав

Наборы прав определяют разрешаемые пользователю интерфейсы и действия в них. Интерфейсы определяются через роли.

Роли указываются через пробел, допустимые значения: user, admin, usermob. Роли всех установленных пользователю наборов прав объединяются. В дереве действий указываются разрешённые набору действия.

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

Замечание

Проверка прав доступа включается переменной конфигурации.

3.3.2. Группы

Группы пользователей обозначают подразделения в организации и выступают группами решения для подсистемы процессов.

В группе могут быть указаны очереди процессов, наборы прав, конфигурация.

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

Группы выстроены в иерархию, что позволяет учитывать службы, отделы и другие структурные единицы организации.

3.3.3. Пользователи

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

Параметры пользователя определяются в редакторе параметров.

Группы пользователя определяют вхождение пользователя в подразделения либо как классифицирующий признак.

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

  1. Действующий список групп (ДСГ) - упорядоченный список = список групп в алфавитном порядке (как отображаются в списке групп), из них оставлены только действующие в настоящий момент у пользователя.

  2. Действующий список наборов прав (ДСНП) - упорядоченный список = списки всех наборов прав групп ДСГ + список наборов прав пользователя.

  3. Действующая конфигурация (ДК) - строка = конфигурации всех наборов прав из ДСНП + конфигурации всех групп из ДСГ (конфигурация каждой группы составлена из конфигурации всех его предков + конфигурация группы) + конфигурация пользователя. Переменная более поздно добавленная в конфигурацию переопределит более раннюю.

  4. Очереди процессов = список очередей процессов, из которых оставлены очереди указанные в пользователе либо в одной из групп ДСГ.

  5. Разрешения = разрешения из наборов прав ДСНП + разрешения из пользователя.

  6. Роли - набор = роли всех наборов прав ДСНП + роли из пользователя.

В действующую конфигурацию пользователя дополнительно добавляются переменные:

ctxUserId=<код пользователя в БД>
ctxUserGroupIds=<коды групп пользователя через запятую>
ctxUserPermsetIds=<коды наборов прав пользователя через запятую>

Схема довольно сложна, однако позволяет очень гибко настраивать права пользователей.

Редактор разрешённых действий в наборе прав и пользователе представляет из себя дерево действий следующего вида:

Установка галочки на узле дерева резрешает действия. У некоторых действий есть дополнительная конфигурация (в квадратных скобках на снимке экрана ранее), задающая дополнительные ограничения. В данную конфигурацию допускается подставлять переменные из действующей конфигурации пользователя. Подстановка осуществляется макросом {@<paramName>}, где<paramName> - параметр из конфигурации. Например: groupSet={@smGroup}. Так, на приведённым выше снимке пользователю разрешают просматривать список пользователя только входящих в те же группы, что и он сам. Используется подставновка системной переменной из действующей конфигурации пользователя.

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

Для отключения проверки прав в действующей конфигурации пользователя должна присутствовать опция: dontCheckPermission=1.