Загрузить изображение для проекта: 'Citeck Community'
  1. Citeck Community
  2. ECOSCOM-4736

Add read and write permissions checking for bpmn process definitions

    XMLWordДля печати

Детали задачи

    • Icon: История История
    • Решение: Готово
    • Icon: High High
    • Community 4.0rc6
    • Не заполнено
    • Не заполнено
    • Не заполнено

    Описание

      Нужно добавить для описаний процессов в ecos-process проверку прав на чтение:

      1. При поиске описаний процессов
      2. При запросе атрибутов

      Прав на запись:

      1. При удалении
      2. При изменении

      Проверку нужно делать через сервис RecordPermsService (он есть в виде бина)

      Проверку делаем в памяти:

      1. При поиске выставляем maxItems == 100, делаем запрос в БД и результат фильтруем до того как наберем нужное кол-во подходящих элементов (в зависимости от maxItems, который был на входе). Если кол-во набраных элементов меньше нужного, то делаем skipCount == 100 и повторяем поиск + фильтрацию. Эти шаги повторяются до тех пор пока не наберется нужно кол-во элементов или поиск не вернет нам пустой список (т.е. больше элементов не останется);
      2. При получении атрибутов ищем запись в БД и если она нашлась, но для неё у текущего пользователя нет прав на чтение, то возвращаем null (как буд-то записи не существует).
      3. При удалении и мутации проверяем права на запись

      Текущего пользователя можно получить через AuthContext.getCurrentUser(). Для получения ролей пользователя нужно использовать RoleService (есть в виде бина).

      Логику по проверке нужно добавить в BpmnProcDefRecords

      Вложенные файлы

        Активность

          Люди

            oleg.onischuk@citeck.ru Oleg Onischuk
            pavel.simonov@citeck.ru Pavel Simonov
            Голоса:
            0 Голосовать за эту задачу
            Наблюдатели:
            4 Начать наблюдение за этой задачей

            Даты

              Создано:
              Обновленo:
              Дата решения:

              Учет времени

                Оценка:
                Первоначальная оценка - 3 дни Первоначальная оценка - 3 дни
                3d
                Осталось:
                Оставшееся время - 0 минуты
                0m
                Затрачено:
                Затраченное время - 4 дни, 4 часы
                4d 4h