Функция
Человекочитаемая единица полномочий (напр. «Ввод и проверка»). Раскрывается в набор claim-значений — атомарных разрешений на команды, запросы и UI-элементы.
1. Назначение
Функция — то, чем оперирует администратор, думая о доступе: «ввод и проверка», «только просмотр», «управление доступом». За понятным названием стоит набор атомов — claim-значений, которые и проверяются системой.
Функции сеет разработчик (в инфраструктуре, вместе с их claim-значениями): состав разрешений — следствие устройства команд/запросов и экранов, а не предмет ручной настройки администратором. Администратор комбинирует готовые функции в группы.
2. Инварианты
- Полномочия функции — её набор claim-значений; вне этого набора функция ничего не разрешает.
- Функции и их claim-значения задаются посевом (разработчик), а не пользовательским вводом.
- Значение claim трактуется по его ключу: для
icd/cqrs/command|query— имя класса или «»; дляicd/ui— «подсистема/ресурс/действие» или «».
Свойства
| Свойство | Тип | Описание |
|---|---|---|
Id | Guid | Идентификатор функции. |
Name | String | Название функции (напр. «Ввод и проверка», «Только просмотр», «Управление доступом»). |
ClaimValues | IReadOnlyList<FunctionClaimValue> | Claim-значения, составляющие фактические полномочия функции. |