User Session API

User Session API состоит из следующих конечных точек:

  • User Info предоставляет информацию о текущем пользователе.

  • Permissions предоставляет информацию о разрешениях на сущности, которые получил текущий пользователь.

Информация о пользователе

Операция GET /userInfo возвращает 200 - OK со следующей информацией:

Response: 200 - OK
{
  "username": "admin",
  "locale": "en"
}

Разрешения

Операция /permissions позволяет получить информацию о разрешениях текущего пользователя на сущности и атрибуты сущностей.

Возвращаемый массив entities содержит список целей для операций CRUD над сущностями, например,sample_Customer:read со значением, описывающим соответствующее разрешение:

Table 1. Значения сущностей
Значение Разрешение

0

Операция запрещена

1

Операция разрешена

Массив entityAttributes содержит список целей для каждого атрибута сущности со значением, описывающим соответствующее разрешение:

Table 2. Значения атрибутов сущности
Значение Разрешение

0

Атрибут сущности скрыт

1

Чтение атрибута сущности разрешено

2

Изменение атрибута сущности разрешено

В следующем примере разрешения запрашиваются для пользователя со следующими условиями:

  • Пользователь имеет полный доступ к сущности Customer.

  • Пользователь имеет доступ только для чтения к сущности Product, за исключением скрытого атрибута tags.

Fetch Permissions Request
GET http://localhost:8080/rest
            /permissions
Response: 200 - OK
{
  "entities": [
    {
      "target": "rstex11_Customer:create",
      "value": 1
    },
    {
      "target": "rstex11_Customer:read",
      "value": 1
    },
    {
      "target": "rstex11_Customer:update",
      "value": 1
    },
    {
      "target": "rstex11_Customer:delete",
      "value": 0
    },
    {
      "target": "rstex11_Product:create",
      "value": 0
    },
    {
      "target": "rstex11_Product:read",
      "value": 1
    },
    {
      "target": "rstex11_Product:update",
      "value": 0
    },
    {
      "target": "rstex11_Product:delete",
      "value": 0
    }
  ],
  "entityAttributes": [
    {
      "target": "rstex11_Customer:name",
      "value": 2
    },
    {
      "target": "rstex11_Customer:type",
      "value": 2
    },
    {
      "target": "rstex11_Product:image",
      "value": 1
    },
    {
      "target": "rstex11_Product:price",
      "value": 1
    },
    {
      "target": "rstex11_Product:name",
      "value": 1
    },
    {
      "target": "rstex11_Product:tags",
      "value": 0
    }
  ]
}