• Ru

Категории пользователей

В UniBPM определено несколько категорий пользователей, различающихся по уровню доступа и управленческим полномочиям.

Данный документ описывает модель прикладных прав доступа внутри системы и не относится к ролям Keycloak.


1. Пользователь (User)

Описание
Обычный пользователь системы, не имеющий административных или управляющих прав.

Доступно

Ограничения

  • Нет доступа к списку рабочих пространств;
  • Нет возможности изменять настройки процессов или заявок, не связанных с ним напрямую.

2. Участник пространства (Workflow Participant)

Описание
Пользователь, имеющий полномочия (Permission) на доступ к конкретному пространству.

Доступно

  • Создание заявок из рабочего пространства;
  • Изменение заявок, принадлежащих данному пространству;
  • Просмотр всех заявок, связанных с этим пространством.

Ограничения

  • Не имеет прав изменять структуру или конфигурацию рабочего пространства.

3. Владелец пространства (Workflow Owner)

Описание
Участник пространства, дополнительно обладающий правами управления настройками этого пространства (workflow.owner).

Доступно

  • Все права участника пространства;
  • Управление конфигурацией пространства (BPMN-модель, экранные формы задач, шаблоны, уведомления и т.п.);
  • Добавление участников пространства и разграничение их доступа.

4. Администратор системы (System Administrator)

Описание
Пользователь с административной ролью, указанной в параметре application.admin-role-name
(по умолчанию — ROLE_unibpm-admin).

Доступно

  • Полный доступ ко всем пространствам и заявкам;
  • Управление пользователями, категориями доступа и системными настройками;
  • Доступ к разделу Администрирование.

Видимость задач

Функционал видимости задач определяет, какие задачи отображаются пользователю в системе UniBPM.

Пользователь может видеть задачи:

  • в админ-панели, раздел Задачи;
  • в тикета, раздел Задачи.

Общая логика

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

Роль пользователяЧто видитУсловия видимости
AdminВсе задачи в системеБез ограничений, видит задачи всех пользователей и всех пространств
Workflow OwnerВсе задачи в своих пространствах + назначенные ему задачи из других пространствВсе задачи (в статусах ASSIGNED, COMPLETED, DELETED, NEW) внутри своих пространств. Плюс задачи из других пространств, если он назначен как assignee
UserТолько назначенные ему задачиВидит только свои задачи со статусом ASSIGNED

Техническая реализация

Логика видимости задач реализована на backend-уровне и распределена между двумя основными компонентами:
PermissionServiceImpl и TaskQueryService.

Видимость задач реализована на backend-уровне и определяется комбинацией сервисов:

  • PermissionServiceImpl.limitAccess() ограничивает видимость задач в зависимости от роли пользователя.
  • PermissionServiceImpl.isWorkflowOwner() определяет, является ли пользователь владельцем одного или нескольких пространств.
  • PermissionServiceImpl.applyUserAccessFilters() добавляет фильтры по исполнителю и связанным задачам.
  • TaskQueryService.createPermissionSpecification() формирует запросы с фильтрацией по доступу.
  • TaskController.getList() вызывает ограничение доступа перед получением списка задач.

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


💡 Примечание

Категории пользователей UniBPM не являются ролями Keycloak.
Keycloak используется для аутентификации и базового разграничения доступа,
тогда как категории пользователей определяют прикладные полномочия внутри системы.


📘 Сравнительная таблица

КатегорияОсновные действияУровень доступа
ПользовательВыполняет задачи, запускает процессыОграниченный
Участник пространстваУправляет заявками в пространствеБазовый
Владелец пространстваНастраивает пространствоУправляющий
Администратор системыУправляет всей системойПолный