用户会话

用户会话 API 包含两个接口:

用户信息

用户信息接口支持获取当前用户的信息:GET /userInfo 返回状态码 200 - OK 和下列信息:

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

许可权限

/permissions 接口可用于获取当前用户的实体和实体属性访问权限。

返回的 entities 数组包含目标实体操作的列表,以类似 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
    }
  ]
}