Платформа 3V/Показатель/Права доступа на данные показателей: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показано 6 промежуточных версий 4 участников)
Строка 1: Строка 1:
 
{{DISPLAYTITLE:Права доступа на данные показателей}}
 
{{DISPLAYTITLE:Права доступа на данные показателей}}
 +
== Описание ==
 +
Права доступа на данные можно разграничивать за счет сегментов.<br>
 +
'''Сегмент''' - это часть данных показателя, ограниченная фильтрами на элементы справочников. Фильтры по справочникам независимы, из чего следует, что кол-во ячеек в сегменте - это декартово произведение элементов всех справочников показателя.<br>
 +
* Показатель может иметь неограниченное кол-во сегментов
 +
* Сегменты могут пересекаться
 +
* Сегменты вычисляются на лету при открытии показателя. Это означает, что фильтры на элементы справочника сегмента могут быть динамическими, в т. ч. содержать формулы, использующие значения токена.
 +
* На сегменты можно раздать стандартные права: роли или пользователю на чтение/изменение/удаление.
 +
 +
'''ВАЖНО!''' Для того, чтобы включить проверку прав по сегментам, в показателе нужно выставить настройку
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
  ...
 +
  "isAccessRightsEnabled": true,
 +
  ...
 +
}
 +
</syntaxhighlight>
 +
 +
== API по работе с сегментами ==
 +
Сваггер по адресу '''''/engine/swagger/index.html#/Segment'''''
 +
 +
=== Создание сегмента ===
 +
'''''/engine/swagger/index.html#/Segment/Segment_CreateSegment'''''<br>
 +
Для создания нужно указать идентификатор показателя и коллекцию описания справочников (ид. справочника и фильтры).<br>
 +
В ответ приходит этот же набор фильтров, а также ид. сегмента.
 +
 +
=== Просмотр сегментов показателя ===
 +
'''''/engine/swagger/index.html#/Segment/Segment_GetSegments'''''<br>
 +
Чтобы посмотреть все сегменты по показателю, нужно воспользоваться этим методом, указав ид. показателя.
 +
 +
=== Просмотр и изменение сегментов ===
 +
Если известен ид. сегмента, то можно его посмотреть, удалить или модифицировать.
 +
* '''''/engine/swagger/index.html#/Segment/Segment_GetSegment'''''
 +
* '''''/engine/swagger/index.html#/Segment/Segment_EditSegment'''''
 +
* '''''/engine/swagger/index.html#/Segment/Segment_DeleteSegment'''''
 +
 +
=== Раздача прав на сегменты ===
 +
'''''/engine/swagger/index.html#/Segment/Segment_SetPermissions'''''<br>
 +
После того как сегменты созданы, можно назначать на них права: нужно указать ид. показателя, ид. сегмента, субъекта и тип права.
 +
 +
Возможные Значения прав на сегмены:
 +
{| class="wikitable"
 +
|-
 +
! Значение !! Название !! Определение
 +
|-
 +
| 0 || None || Отсутствие прав
 +
|-
 +
| 1 || Read || Право на чтение
 +
|-
 +
| 2 || Delete || Право на удаление (в сегментах равнозначно праву на редактирование)
 +
|-
 +
| 3 || Edit || Право  на редактирование
 +
|-
 +
| 4 || All || Полные права
 +
|}

Текущая версия на 14:00, 21 апреля 2021

Описание

Права доступа на данные можно разграничивать за счет сегментов.
Сегмент - это часть данных показателя, ограниченная фильтрами на элементы справочников. Фильтры по справочникам независимы, из чего следует, что кол-во ячеек в сегменте - это декартово произведение элементов всех справочников показателя.

  • Показатель может иметь неограниченное кол-во сегментов
  • Сегменты могут пересекаться
  • Сегменты вычисляются на лету при открытии показателя. Это означает, что фильтры на элементы справочника сегмента могут быть динамическими, в т. ч. содержать формулы, использующие значения токена.
  • На сегменты можно раздать стандартные права: роли или пользователю на чтение/изменение/удаление.

ВАЖНО! Для того, чтобы включить проверку прав по сегментам, в показателе нужно выставить настройку

1 {
2   ...
3   "isAccessRightsEnabled": true,
4   ...
5 }

API по работе с сегментами

Сваггер по адресу /engine/swagger/index.html#/Segment

Создание сегмента

/engine/swagger/index.html#/Segment/Segment_CreateSegment
Для создания нужно указать идентификатор показателя и коллекцию описания справочников (ид. справочника и фильтры).
В ответ приходит этот же набор фильтров, а также ид. сегмента.

Просмотр сегментов показателя

/engine/swagger/index.html#/Segment/Segment_GetSegments
Чтобы посмотреть все сегменты по показателю, нужно воспользоваться этим методом, указав ид. показателя.

Просмотр и изменение сегментов

Если известен ид. сегмента, то можно его посмотреть, удалить или модифицировать.

  • /engine/swagger/index.html#/Segment/Segment_GetSegment
  • /engine/swagger/index.html#/Segment/Segment_EditSegment
  • /engine/swagger/index.html#/Segment/Segment_DeleteSegment

Раздача прав на сегменты

/engine/swagger/index.html#/Segment/Segment_SetPermissions
После того как сегменты созданы, можно назначать на них права: нужно указать ид. показателя, ид. сегмента, субъекта и тип права.

Возможные Значения прав на сегмены:

Значение Название Определение
0 None Отсутствие прав
1 Read Право на чтение
2 Delete Право на удаление (в сегментах равнозначно праву на редактирование)
3 Edit Право на редактирование
4 All Полные права