Детали задачи
-
История
-
Решение: Готово
-
High
-
Не заполнено
-
Не заполнено
-
Не заполнено
Описание
Нужно добавить для описаний процессов в ecos-process проверку прав на чтение:
- При поиске описаний процессов
- При запросе атрибутов
Прав на запись:
- При удалении
- При изменении
Проверку нужно делать через сервис RecordPermsService (он есть в виде бина)
Проверку делаем в памяти:
- При поиске выставляем maxItems == 100, делаем запрос в БД и результат фильтруем до того как наберем нужное кол-во подходящих элементов (в зависимости от maxItems, который был на входе). Если кол-во набраных элементов меньше нужного, то делаем skipCount == 100 и повторяем поиск + фильтрацию. Эти шаги повторяются до тех пор пока не наберется нужно кол-во элементов или поиск не вернет нам пустой список (т.е. больше элементов не останется);
- При получении атрибутов ищем запись в БД и если она нашлась, но для неё у текущего пользователя нет прав на чтение, то возвращаем null (как буд-то записи не существует).
- При удалении и мутации проверяем права на запись
Текущего пользователя можно получить через AuthContext.getCurrentUser(). Для получения ролей пользователя нужно использовать RoleService (есть в виде бина).
Логику по проверке нужно добавить в BpmnProcDefRecords
Вложенные файлы
Вложенные файлы
Связи запроса
- mentioned on
(11 mentioned on)