1. 用户属性

1.1. 用户属性说明

1.1.1. 用户属性的定义

由系统定义或用户自定义的用户扩展变量,可作为可变参数用于数据连接、链接权限、行权限、高级表达式等功能

用户属性结构说明

字段 类型 是否必须 描述
id LONG id
name STRING 属性名称
scope STRING 用户属性作用范围:SYSTEM,INTERNAL,GLOBAL,SYSTEM为系统定义,用户不可添加或修改
openLevel STRING 用户属性开放级别:READ_ONLY,HIDDEN
options OBJECT 用户属性的配置信息
options.type STRING 属性类型,支持:string,number,date,time,any
options.defaultValue OBJECT 属性默认值,需与属性类型匹配,属性类型为any时可任意设置

用户属性使用说明

  1. 用户属性可用于连接权限或行权限的过滤
  2. 用户属性可用于表达式,使用格式为``
  3. 若用户属性设置了默认值,且当前被含有用户属性的过滤限制了的登陆用户,没有专门为自身设置这个属性的具体值,则在过滤时会使用默认值
  4. 系统定义的用户属性的默认名称前缀为sys.,用户自定义属性不可以此前缀开头
  5. 用户属性创建后,名称不可再变更
  6. 系统定义的用户属性不可修改,其值为用户对应的信息,如登录名,邮箱等
  7. 用户属性作用范围说明:SYSTEM为系统定义,用户不可添加或修改;INTERNAL为内部属性,定义后只能在平台方或租户内部可用;GLOBAL为全局属性,平台方与租户方都可以使用,由平台方定义并为租户方赋值,属性值被所有对应的租户内所有用户继承,租户不可修改或删除。
  8. 开放级别为HIDDEN的用户属性只能用于数据连接,不可在应用中使用。
  9. 开放级别为HIDDEN的平台方全局用户属性,对租户方不可见。
  10. 作用范围为GLOBAL的全局属性,在租户方有三个可取值的点:属性默认值(attr.defaultValue)、平台方为租户设置的值(tenant.platformConfig)、租户内用户通过sso登陆同步的值(user.platformConfig),取值优先级为:user.platformConfig>tenant.platformConfig>attr.defaultValue

    1.2. 接口说明

1.2.1. 创建用户属性

创建用户属性。

请求URL

POST /api/v1/users/attrs

请求参数

URL 参数

request body 参数

用户属性结构说明

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBEJCT 添加的用户属性

接口示例1: 创建用户属性

POST /api/v1/users/attrs

{
  "name": "test",
  "scope": "INTERNAL",
  "openLevel": "READ_ONLY",
  "options": {
    "type": "number",
    "defaultValue": 1
  }
}

返回

{
  "version": "3.2-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 3,
    "name": "test",
    "scope": "INTERNAL",
    "openLevel": "READ_ONLY",
    "options": {
      "type": "number",
      "defaultValue": 1,
      "allowAllValue": true
    },
    "createdBy": 1,
    "createdAt": "2020-07-08 15:42:59",
    "updatedBy": 1,
    "updatedAt": "2020-07-08 15:42:59"
  }
}

接口示例2: 创建用户属性

POST /api/v1/users/attrs

{
  "name": "testAny",
  "scope": "INTERNAL",
  "openLevel": "READ_ONLY",
  "options": {
    "type": "any",
    "defaultValue": "[\"星际穿越\",\"饮食男女\"]"
  }
}

返回

{
  "version": "3.2-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 4,
    "name": "testAny",
    "scope": "INTERNAL",
    "openLevel": "READ_ONLY",
    "options": {
      "type": "any",
      "defaultValue": "[\"星际穿越\",\"饮食男女\"]",
      "allowAllValue": true
    },
    "createdBy": 1,
    "createdAt": "2020-07-08 15:50:40",
    "updatedBy": 1,
    "updatedAt": "2020-07-08 15:50:40"
  }
}

1.2.2. 修改用户属性

修改用户属性。

说明

  • 若用户属性已在使用,则修改属性类型可能导致使用了该用户属性的资源出现数据异常

    请求URL

PUT /api/v1/users/attrs/{attrId}

请求参数

URL 参数
字段 类型 是否必须 说明
attrId LONG 被修改用户属性的 id
request body 参数

用户属性结构说明

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBEJCT 修改的用户属性

接口示例1: 修改用户属性

PUT /api/v1/users/attrs/3

{
  "options": {
    "type": "string",
    "defaultValue": "aaa"
  }
}

返回

{
  "version": "3.2-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 3,
    "name": "test",
    "scope": "INTERNAL",
    "openLevel": "READ_ONLY",
    "editable": true,
    "options": {
      "type": "string",
      "defaultValue": "aaa",
      "allowAllValue": true
    },
    "createdBy": 1,
    "createdAt": "2020-07-08 15:42:59",
    "updatedBy": 1,
    "updatedAt": "2020-07-08 15:54:13",
    "isDelete": false
  }
}

1.2.3. 删除用户属性

删除用户属性

说明

  • 若用户属性已在使用,则删除可能导致使用了该用户属性的资源出现数据异常

    请求URL

    DELETE /api/v1/users/attrs/{attrId}
    
    需要认证:是

    请求参数

    URL 参数
字段 类型 是否必须 说明
attrId LONG 被删除用户属性的 id

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值

接口示例1: 删除用户

DELETE /api/v1/users/attrs/{attrId}

返回:

{
  "version": "3.2-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success"
}

1.2.4. 获取用户属性列表

请求URL

GET /api/v1/users/attrs?offset=0&limit=1000&queryValueSet=true

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
offset INTEGER 可选 分页偏移量,默认是0
limit INTEGER 可选 分页获取个数,默认是10
queryValueSet BOOLEAN 可选 是否要获取每条属性在设置了该属性的所有用户中的distinct值列表

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBEJCT 系统中的用户属性

接口示例1: 获取用户属性列表

GET /api/v1/users/attrs?offset=0&limit=1000&queryValueSet=true

返回:

{
  "version": "3.2-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success",
  "data": [
    {
      "name": "sys.id",
      "scope": "SYSTEM",
      "openLevel": "READ_ONLY",
      "editable": false,
      "options": {
        "type": "number",
        "allowAllValue": true
      },
      "valueSet": [
        1,
        2,
        3,
        4,
        5
      ]
    },
    {
      "name": "sys.name",
      "scope": "SYSTEM",
      "openLevel": "READ_ONLY",
      "editable": false,
      "options": {
        "type": "string",
        "allowAllValue": true
      },
      "valueSet": [
        "test",
        "test2",
        "test3",
        "test4",
        "test5"
      ]
    },
    {
      "name": "sys.login_name",
      "scope": "SYSTEM",
      "openLevel": "READ_ONLY",
      "editable": false,
      "options": {
        "type": "string",
        "allowAllValue": true
      },
      "valueSet": [
        "test",
        "test2",
        "test3",
        "test4",
        "test5"
      ]
    },
    {
      "name": "sys.loginName",
      "scope": "SYSTEM",
      "openLevel": "READ_ONLY",
      "editable": false,
      "options": {
        "type": "string",
        "allowAllValue": true
      },
      "valueSet": [
        "test",
        "test2",
        "test3",
        "test4",
        "test5"
      ]
    },
    {
      "name": "sys.email",
      "scope": "SYSTEM",
      "openLevel": "READ_ONLY",
      "editable": false,
      "options": {
        "type": "string",
        "allowAllValue": true
      },
      "valueSet": [
        "test@hengshi.com",
        "test2@hengshi.com",
        "test3@hengshi.com",
        "test4@hengshi.com",
        "test5@hengshi.com"
      ]
    },
    {
      "name": "sys.mobile",
      "scope": "SYSTEM",
      "openLevel": "READ_ONLY",
      "editable": false,
      "options": {
        "type": "string",
        "allowAllValue": true
      },
      "valueSet": []
    },
    {
      "id": 1,
      "name": "a1",
      "scope": "INTERNAL",
      "openLevel": "READ_ONLY",
      "editable": true,
      "options": {
        "type": "any",
        "allowAllValue": true
      },
      "createdBy": 1,
      "createdAt": "2020-07-07 19:34:15",
      "updatedBy": 1,
      "updatedAt": "2020-07-07 19:34:15",
      "isDelete": false,
      "valueSet": [
        "[\"-1\"]",
        "你好",
        "1"
      ]
    },
    {
      "id": 2,
      "name": "a2",
      "scope": "GLOBAL",
      "openLevel": "READ_ONLY",
      "editable": true,
      "options": {
        "type": "any",
        "allowAllValue": true
      },
      "createdBy": 1,
      "createdAt": "2020-07-07 19:34:17",
      "updatedBy": 1,
      "updatedAt": "2020-07-07 19:34:17",
      "isDelete": false,
      "valueSet": [
        [
          "5"
        ],
        "[\"你好\"]",
        "测试"
      ]
    },
    {
      "id": 5,
      "name": "t",
      "scope": "INTERNAL",
      "openLevel": "HIDDEN",
      "editable": true,
      "options": {
        "type": "time",
        "allowAllValue": true
      },
      "createdBy": 1,
      "createdAt": "2020-07-08 16:10:47",
      "updatedBy": 1,
      "updatedAt": "2020-07-08 16:10:47",
      "isDelete": false,
      "valueSet": [
        "2020-07-23 16:11:00",
        "2025-07-18 16:12:01"
      ]
    },
    {
      "id": 3,
      "name": "test",
      "scope": "GLOBAL",
      "openLevel": "HIDDEN",
      "editable": true,
      "options": {
        "type": "string",
        "defaultValue": "aaa",
        "allowAllValue": true
      },
      "createdBy": 1,
      "createdAt": "2020-07-08 15:42:59",
      "updatedBy": 1,
      "updatedAt": "2020-07-08 15:54:13",
      "isDelete": false,
      "valueSet": [
        "test2",
        "qqq"
      ]
    }
  ],
  "totalHits": 10,
  "offset": 0
}

1.2.5. 根据ID获取用户属性

请求URL

GET /api/v1/users/attrs/{attrId}

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
attrId LONG 被修改用户属性的 id

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBEJCT 系统中的用户属性

接口示例1: 根据ID获取用户属性

GET /api/v1/users/attrs/3

返回:

{
  "version": "3.2-SNAPSHOT@@git.commit.id.abbrev@#null",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 3,
    "name": "test",
    "scope": "INTERNAL",
    "openLevel": "READ_ONLY",
    "editable": true,
    "options": {
      "type": "string",
      "defaultValue": "aaa",
      "allowAllValue": true
    },
    "createdBy": 1,
    "createdAt": "2020-07-08 15:42:59",
    "updatedBy": 1,
    "updatedAt": "2020-07-08 15:54:13",
    "isDelete": false
  }
}

results matching ""

    No results matching ""

    用户 租户