来源:变更 harden-multi-tenant-isolation 时间:2026-06-27
部分 sys_/ai_ 业务表缺 tenant_id 或被误放进 SQL 拦截器忽略表;数据权限空范围会退化为全量查询;平台定义表不应按租户复制。
tenant_id,且从拦截器 ignoreTables 移除,由 TenantLineInnerInterceptor 自动追加 WHERE tenant_id = ?。sys_resource、ai_page_template、区域码等):保持全局,可见性由 sys_role_resource.tenant_id 授权控制,管理操作加超级管理员服务端兜底(SessionHelper 超管断言)。tenant_id IS NULL OR = 0 统一回填默认租户 1。sys_notice_status/sys_notice_type)在 tenant 0 和 1 并存时,直接 UPDATE tenant_id=1 会撞唯一键 uk_tenant_dict_type。须先删除 tenant 0/null 中已在 tenant 1 存在的重复行,再做归一化。sys_flow_node_operation)用 information_schema 防护分支跳过。uk_xxx_tenant_key 形态(含 model_key / business_key / category_code 等业务键 + tenant_id)。V1.0.56__harden_tenant_isolation_boundaries.sqlSessionHelper(超管断言)