天行有常,不为尧存,不为桀亡。——荀子《天论》
所有表结构解析中不包含 zero extension 扩展模块中的系统型字段,主要是:
sigma, active, language, metadata, createdAt, createdBy, updatedAt, updatedBy
八个系统型字段。 所有的配置导入都在ox-driver/ix-atlantic
项目中执行(主程序)
本文介绍以下几个内容:
权限表配置包含了两张主表:S_PERM(权限),R_ROLE_PERM(连接表)
。
参考下表定义先理解 S_PERM
和 R_ROLE_PERM
的表结构。
字段名 | 列名 | 含义 | 值格式 |
---|---|---|---|
key | KEY | 权限主键 | 新生成UUID |
name | NAME | 权限名称 | 中文名称 |
comment | COMMENT | 权限备注 | 权限的描述信息 |
code | CODE | 权限编码 | 以perm 开头带. 的权限编码 |
字段名 | 列名 | 含义 | 值格式 |
---|---|---|---|
roleId | ROLE_ID | 关联角色主键 | UUID格式 |
permId | PERM_ID | 关联权限主键 | UUID格式 |
资源配置包含了三张主表:S_VIEW(视图)、S_RESOURCE(资源)、S_ACTION(操作)
,在配置接口时,需要先配置最少两张:资源表和操作表。视图(S_VIEW
)表是高级权限配置,在本文中不涉及。
参考下表定义先理解 S_RESOURCE
和 S_ACTION
的表结构。
字段名 | 列名 | 含义 | 值格式 |
---|---|---|---|
key | KEY | 资源主键 | 新生成UUID |
name | NAME | 资源名称 | 中文格式 |
code | CODE | 资源编码 | 以res 开头带. 的资源编码 |
level | LEVEL | 资源级别 | 资源对Action要求的级别(整数) |
modelRole | MODEL_ROLE | 角色模式 | 四个值:UNION / EAGER / LAZY / INTERSECT |
modelGroup | MODEL_GROUP | 组模式 | 三个值:HORIZON / CRITICAL / OVERLOOK |
modelTree | MODEL_TREE | 树模式 | 四个值:PARENT / CHILD / INHERIT / EXTEND |
配置资源的时候,modelGroup
和modelTree
是可选的。
字段名 | 列名 | 含义 | 值格式 |
---|---|---|---|
key | KEY | 操作主键 | 新生成UUID |
uri | URI | URI地址 | URI路径全地址,从/api/ 开始 |
method | METHOD | HTTP方法 | 四个值:GET / POST / PUT / DELETE |
name | NAME | 操作名称 | 中文格式 |
code | CODE | 操作编码 | 以act 开头带. 的操作编码 |
level | LEVEL | 操作级别 | 当前Action所属级别(整数) |
renewalCredit | RENEWAL_CREDIT | 副作用模式 | 保留配置 |
resourceId | RESOURCE_ID | 关联资源ID | 1.1 中配置的资源KEY |
permissionId | PERMISSION_ID | 所属权限ID | 新创建的权限KEY |
# 安装UUID生成工具,主键生成使用该配置
npm install -g uuid
S_USER
中的USERNAME
和PASSWORD
字段)。执行下边SQL语句(DB_ORIGIN_X
元数据库中执行),根据USERNAME
搜索该用户关联的角色,其中xxx
就是账号信息:
SELECT ROLE_ID,PRIORITY FROM R_USER_ROLE
WHERE USER_ID IN
(SELECT `KEY` FROM S_USER WHERE USERNAME='xxx')
ORDER BY PRIORITY DESC;
src/main/resources/init/oob/
中创建新的API所需Excel
文件(可参考目前的xxx-api.xlsx
类型的),文件名尽可能使用可识别的文件前缀,方便单独导入。S_PERM,S_ACTION,S_RESOURCE
遵循统一命名规范编码,编码在系统中不可重复
perm.xxx
act.xxx
res.xxx
S_ACTION
中的 uri 和 method 必须和您将开发的接口匹配,可参考目前的配置,这个配置一定不能出错。S_ACTION
中的level
必须大于或等于S_RESOURCE
中的level
,推荐使用等于
的配置。R_ROLE_PERM
:角色和权限的关联S_ACTION
:权限/资源/操作三者之间通过操作进行关联sigma, active, language
都不要填错,参考已有配置修改 OxDevelop
代码如下,首参不变,第二参使用您创建的文件前缀:
package cn.vertxup;
import io.vertx.tp.ke.booter.Bt;
public class OxDevelop {
public static void main(final String[] args) {
Bt.doImports("init/oob/", "第二参");
}
}
OxDevelop
的执行配置,参考环境配置,然后执行该程序,将数据重新导入Postman
测试按照上述步骤,接口权限就配置完成了。