Платформа 3V/Согласование/Статусы и шаги: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
(Содержимое страницы заменено на «Страница в разработке»)
Метка: замена
Строка 1: Строка 1:
Для определенного шага/действия процесса можно настроить разрешающие (Allow), либо запрещающие (Deny) права. <br>
+
Страница в разработке
 
 
На один и тот же шаг можно добавить несколько разделов с настройками прав на различные субъекты доступа. <br>
 
 
 
Можно настроить субъект через формулу, либо задать фиксированное значение субъекта (роль, пользователя), либо завязаться на атрибут параметра процесса согласования, откуда будет тянуться субъект доступа.<br>
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">Пример JSON-модели прав доступа</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
"permissions": [
 
      {
 
        "stepId": 2,
 
        "subjectId": "head",
 
        "subject": {
 
          "subjectId": "head",
 
          "discriminator": "FixedSubjectDescriptionModel"
 
        },
 
        "type": "Allow"
 
      }
 
  ]
 
</syntaxhighlight>
 
</div></div>
 
 
 
Основные свойства настройки прав доступа:<br>
 
 
 
'''stepId''' – идентификатор действия, для которого настраиваются права доступа<br>
 
 
 
'''subjectId''' – идентификатор роли, либо идентификатор пользователя как субъекта доступа<br>
 
 
 
'''subject''' – настройка субъекта доступа:<br>
 
 
 
1. Фиксированное значение субъекта (роль, пользователь):<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">JSON пример</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
{
 
        "stepId": 4,
 
        "subjectId": "admin",
 
        "subject": {
 
          "subjectId": "admin",
 
          "discriminator": "FixedSubjectDescriptionModel"
 
        },
 
        "type": "Allow"
 
      }
 
</syntaxhighlight>
 
</div></div>
 
 
 
2. Через формулу:<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">JSON пример</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
{
 
        "stepId": 1,
 
        "subjectId": null,
 
        "subject": {
 
          "formula": {
 
            "expression": "[0]",
 
            "operands": [
 
              {
 
                "attributeId": "sid",
 
                "discriminator": "TokenAttributeFormulaOperandDto",
 
                "code": null,
 
                "id": 0,
 
                "name": null
 
              }
 
            ],
 
            "code": null,
 
            "id": 0,
 
            "name": null
 
          },
 
          "discriminator": "FormulaSubjectDescriptionModel"
 
        },
 
        "type": "Allow"
 
      }
 
</syntaxhighlight>
 
</div></div>
 
 
 
3. Из атрибута параметра объекта согласования:<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">JSON пример</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
{
 
        "stepId": 1,
 
        "subjectId": null,
 
        "subject": {
 
          "parameterId": 1,
 
          "attribute": {
 
            "discriminator": "OwnAttributeDefinitionDto",
 
            "id": 20
 
          },
 
          "discriminator": "ParameterAttributeSubjectDescriptionModel"
 
        },
 
        "type": "Allow"
 
      }
 
</syntaxhighlight>
 
</div></div>
 
 
 
== Настройка владельца процесса ==
 
 
 
Для объекта согласования можно настроить владельца процесса – субъект прав доступа, который имеет полные права на весь процесс согласования, право выполнять любой шаг процесса, редактировать ответственный ему экземпляр процесс согласования. Для настройки владельца процесса в JSON модели объекта согласования есть раздел owner. Свойства для настройки владельца аналогичны свойствам subject настройки субъекта доступа.
 
<br>
 
Владельца процесса можно настроить одним из вариантов:<br>
 
 
 
1. Задать фиксированное значение:<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">JSON пример</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
"owner": {
 
      "subjectId": "34c5a091-83b3-44d4-8616-561764a64d9b",
 
      "discriminator": "FixedSubjectDescriptionModel"
 
    }
 
</syntaxhighlight>
 
</div></div>
 
 
 
2. Получить субъект из атрибута параметра объекта согласования:<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">JSON пример</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
"owner": {
 
      "parameterId": 1,
 
      "attribute": {
 
        "discriminator": "OwnAttributeDefinitionDto",
 
        "id": 45
 
      },
 
      "discriminator": "ParameterAttributeSubjectDescriptionModel"
 
    }
 
  }
 
</syntaxhighlight>
 
</div></div>
 
 
 
3. Настроить формулу, для получения субъекта владельца процесса:<br>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">JSON пример</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
"owner": {
 
                "formula": {
 
            "expression": "[0]",
 
            "operands": [
 
              {
 
                "attributeId": "sid",
 
                "discriminator": "TokenAttributeFormulaOperandDto",
 
                "code": null,
 
                "id": 0,
 
                "name": null
 
              }
 
            ],
 
            "code": null,
 
            "id": 0,
 
            "name": null
 
          },
 
          "discriminator": "FormulaSubjectDescriptionModel"
 
    }
 
</syntaxhighlight>
 
</div></div>
 

Версия 10:36, 25 ноября 2021

Страница в разработке