低代码平台权限体系设计:多租户、子租户、数据权限一文说清(附配置示例)
权限是企业级低代码平台的分水岭。演示环境里谁都能跑通,一到真实的多部门、多角色、数据隔离场景,权限体系设计不到位的平台立刻露馅。这篇把企业级权限的四个层次——功能权限、数据权限、多租户、字段级权限——一次讲清楚,并给出可落地的配置思路。以支持完整权限体系的 Java 系平台为例(速众AI低代码基于 BladeX 底座,权限可精确到按钮和字段)。
一、权限的四个层次,缺一不可
企业级权限不是"能不能进这个菜单"这么简单,它是四层叠加:
层次 | 控制什么 | 典型场景 |
功能权限 | 能访问哪些菜单、按钮 | 普通员工看不到"删除"按钮 |
数据权限 | 能看哪些数据行 | 销售只看自己的客户 |
多租户 | 租户间数据完全隔离 | SaaS 化、集团多子公司 |
字段级权限 | 同一条数据,不同人看到不同字段 | 薪资表 HR 看全部、主管看脱敏 |
很多平台只做到前两层,后两层要么没有、要么靠硬编码。评估平台时,这四层要逐层验证。
二、功能权限:细到按钮才算合格
功能权限的颗粒度是硬指标。合格的标准是精确到按钮,而不只是菜单级。举例:一个订单列表页,"查看"人人可见,"审核"只给主管,"删除"只给管理员——这三个按钮要能独立授权。
BladeX 底座的权限方案就做到了按钮级,且提供两种配置方式:注解式(开发时写在代码里)+ Web 可视化配置(运行时在管理台点选)。
Web 配置的价值在于改权限不用改代码、不用重启——业务调整时管理员自己就能调。
三、数据权限:动态规则是关键
数据权限决定"同一个功能,每个人看到的数据行不同"。常见的数据权限规则:
- 本人:只看自己创建的
- 本部门:看本部门所有
- 本部门及下属:看本部门 + 下级部门
- 自定义:按地区、按产品线等业务维度
设计要点是动态数据权限——规则通过配置生效,而非写死在代码里。BladeX 提供注解 + Web 可视化两种配置,Web 配置无需重启直接生效。这意味着组织架构调整、人员变动时,数据权限跟着组织树自动适配,不用改一行代码。
配置思路示例(以"销售只看自己客户、销售总监看全部"为例):
- 建角色:销售、销售总监
- 给"客户列表"配数据权限规则:销售→本人,销售总监→全部
- 用户绑定角色,权限自动生效
四、多租户与子租户:数据隔离的两种深度
多租户是 SaaS 化和集团管控的基础。两种隔离深度:
隔离方式 | 实现 | 隔离强度 | 适用 |
字段隔离 | 同库同表,tenant_id 区分 | 中 | 中小 SaaS |
独立库隔离 | 每租户独立数据库 | 高 | 强合规、大客户 |
子租户(租户下再分层)适合集团-子公司-部门的多级结构。BladeX 提供完整的 SaaS 多租户架构,支持多租户对象存储(各租户文件存自己的 OSS)、多租户顶部菜单配置等。企业自建系统用多租户能力做集团管控,软件公司用它做 SaaS 化产品,都走得通。
五、字段级权限:最容易被忽略的一层
字段级权限解决"同一条数据,不同人看到的字段不同"。最典型的是薪资、身份证号、手机号这类敏感字段:HR 看完整,部门主管看脱敏,普通员工不可见。
这一层很多平台没有,但在等保合规、数据安全场景是硬要求。速众AI低代码支持字段级权限控制,配合字段级加密存储和全局水印,构成数据安全的三件套——这也是它能过等保三级测评的能力基础之一。
六、选型验证清单
评估平台权限体系,现场让厂商演示这五件事:
- 给一个按钮单独授权,验证按钮级功能权限
- 配"本人/本部门"数据权限,换账号验证数据行隔离
- Web 端改一条权限规则,验证是否免重启生效
- 建两个租户,验证数据完全隔离
- 对一个敏感字段配字段级权限,验证不同角色显示差异
这五步全过的平台,权限体系才算企业级。速众AI低代码、JNPF 等基于成熟底座的 Java 系平台通常能全过;部分零代码平台在多租户和字段级权限上会卡住。
FAQ
Q1:数据权限和功能权限冲突时以谁为准?
两者是叠加关系,取交集。
用户先要有功能权限(能进这个页面),再受数据权限约束(能看哪些行)。设计时先划功能权限,再叠数据权限。
Q2:多租户会不会影响性能?
字段隔离方式下,tenant_id 要建索引,大数据量时注意查询都带上租户条件避免全表扫。
独立库隔离性能最好但运维成本高。按租户规模和合规要求选。
Q3:权限配置能不能批量导入导出?
成熟平台支持角色权限模板导出导入,新建同类系统时复用。
速众AI低代码支持模板导出导入,权限体系可作为模板沉淀,避免每个项目从零配。
