User Session API
User Session API состоит из следующих конечных точек:
-
User Info предоставляет информацию о текущем пользователе.
-
Permissions предоставляет информацию о разрешениях на сущности, которые получил текущий пользователь.
Информация о пользователе
Операция GET /userInfo
возвращает 200 - OK
со следующей информацией:
{
"username": "admin",
"locale": "en"
}
Разрешения
Операция /permissions
позволяет получить информацию о разрешениях текущего пользователя на сущности и атрибуты сущностей.
Возвращаемый массив entities
содержит список целей для операций CRUD над сущностями, например,sample_Customer:read
со значением, описывающим соответствующее разрешение:
Значение | Разрешение |
---|---|
0 |
Операция запрещена |
1 |
Операция разрешена |
Массив entityAttributes
содержит список целей для каждого атрибута сущности со значением, описывающим соответствующее разрешение:
Значение | Разрешение |
---|---|
0 |
Атрибут сущности скрыт |
1 |
Чтение атрибута сущности разрешено |
2 |
Изменение атрибута сущности разрешено |
В следующем примере разрешения запрашиваются для пользователя со следующими условиями:
-
Пользователь имеет полный доступ к сущности
Customer
. -
Пользователь имеет доступ только для чтения к сущности
Product
, за исключением скрытого атрибутаtags
.
GET http://localhost:8080/rest
/permissions
{
"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
}
]
}