跳到主要内容

租户管理

租户管理用于在公共租户中维护整个平台的所有租户,包括租户授权信息、数据库连接以及租户初始化。

概述​

从 开发中心 → 开发设置 → 租户授权 进入租户管理页面。该页签仅在公共租户(common)下可见,用于集中维护平台内的全部租户。

在多租户模式下,每个租户对应一套独立的物理数据库(chameleon_{tenantId}),租户管理即负责这些租户的授权周期、连接参数与初始化动作:

  • 租户列表:以表格方式展示所有租户,支持查询、新增、编辑与查看详情。
  • 租户详情:在详情抽屉中执行自定义数据库连接、刷新数据库密码、获取数据库连接信息、重新注册数据库、租户初始化、重置管理员等操作。
谨慎操作

租户初始化、重新注册数据库、刷新数据库密码等操作会直接影响租户的运行,且部分操作不能对当前登录租户自身执行。请在明确影响范围后操作。

配置项​

租户列表字段​

配置项说明
TenantId租户唯一标识,创建时填写,作为物理库与请求路由的依据
名称租户显示名称
描述租户用途说明
授权开始时间租户授权生效时间
授权结束时间租户授权到期时间,新增时必填
是否开发租户标记为开发租户,可访问开发设置等能力
自定义数据库连接是否使用自定义数据库连接
自定义域名租户独立访问域名
租户等级租户等级,取值范围 0~5
创建时间 / 创建人 / 修改时间 / 修改人审计字段

新增与编辑​

操作可填写字段
新增租户租户 ID(TenantId)、授权结束时间(EndTime)、描述(Description)
编辑租户名称(Name)、授权结束时间、自定义域名、租户等级、是否开发租户、描述

操作项​

操作说明
查看详情打开抽屉查看租户全部属性
编辑修改租户的基本信息
自定义数据库连接配置租户使用自建数据库(Host、端口、用户名、密码)
刷新数据库密码重新生成租户数据库密码(Chameleon 密码)
租户数据库信息查看租户数据库的用户名与密码
重新注册租户数据库从连接池移除并按租户库信息重新注册
租户初始化初始化租户数据库结构,完成后才可正常使用
重置管理员重新创建租户的默认开发账号
新增后需初始化

新增租户成功后,需要对该租户执行租户初始化,租户才能正常使用。

下一步​

属性与接口明细​

以下内容面向技术实现与 AI 检索。

租户实体属性​

租户存储在 system_tenantinfo,实体类型为 TenantInfo,继承自 EntityBase。

属性名类型含义取值/存储值
_idstring(GUID)主键例:9f1c0b2e-...
TenantIdstring租户唯一标识作为物理库名 chameleon_{TenantId} 与请求头 X-Tenant-Id 的依据
Namestring租户名称显示名称
Descriptionstring说明纯文本
StartTimedatetime授权开始时间ISO 时间
EndTimedatetime授权结束时间新增时必填
DbPasswordstring数据库密码Chameleon 密码由初始化自动生成,可刷新;自定义密码不可刷新
CustomDbConnectionbool是否使用自定义数据库连接true / false
DbHoststring数据库 Host自定义连接时必填
DbPortint数据库端口自定义连接时必填,最大 999999
DbUserNamestring数据库用户名自定义连接时必填
CustomDomainstring自定义域名用于按域名解析租户
TenantLevelint租户等级0~5
IsDevTenantbool是否开发租户true / false
Initializedbool是否已初始化初始化后置为 true
ReleaseSqlVersionint已发布的 SQL 版本迁移版本号
Propertiesobject自定义属性JSON 序列化后存为 text(TenantInfoProperties)

存储示例​

{
"_id": "9f1c0b2e-2d3a-4e6f-9c11-0f7a5b8d2e10",
"TenantId": "acme",
"Name": "示例租户",
"Description": "演示环境",
"StartTime": "2026-01-01T00:00:00",
"EndTime": "2027-01-01T00:00:00",
"CustomDbConnection": false,
"DbHost": null,
"DbPort": 0,
"DbUserName": null,
"CustomDomain": "acme.example.com",
"TenantLevel": 1,
"IsDevTenant": true,
"Initialized": true,
"ReleaseSqlVersion": 33
}

相关接口​

除 Init 接口外,所有接口均要求当前请求位于公共租户(ChameleonPlatformHelper.RequireCommonTenant())。

接口方法说明
POST /api/TenantInfo/AddPOST新增租户
POST /api/TenantInfo/EditPOST编辑租户
POST /api/TenantInfo/EditPropertiesPOST编辑自定义属性
POST /api/TenantInfo/EditCustomDbConnectionPOST编辑自定义数据库连接
POST /api/TenantInfo/RefreshDbPasswordPOST刷新数据库密码(参数 id)
POST /api/TenantInfo/ReRegisterTenantDatabasePOST重新注册租户数据库(参数 id)
GET /api/TenantInfo/GetTenantDatabaseConnectionInfoGET获取数据库连接信息(参数 id)
GET /api/TenantInfo/GetGET获取租户详情(参数 id)
POST /api/TenantInfo/GetListPOST分页查询租户列表
GET /api/TenantInfo/GetAllTenantIdListGET获取全部租户 ID
POST /api/TenantInfo/InitPOST租户初始化(参数 tenantId)
POST /api/TenantInfo/ResetAdministratorPOST重置管理员(参数 tenantId)
自身租户限制

刷新数据库密码、获取数据库连接信息、重新注册数据库、重置管理员等操作在前端会校验当前租户,不允许对当前登录租户自身执行。