公司管理

1.前言

  • 公司管理的本质是数据隔离,实现方式有两种,物理隔离和逻辑隔离
  • 物理隔离:使用独立数据库/表,适用于SaaS、客户之间严格隔离的情形
  • 逻辑隔离:共用表 + company_id,适用于企业内部子公司、集团架构
  • 本章节不考虑SaaS,只考虑企业内部子公司、集团架构,也就是所谓的逻辑隔离

2.核心设计原则

  • 采用“统一多公司模型” 架构,默认不可切换公司
  • 如需切换,需要创建数据范围规则,即 用户 - 规则 - 公司 这种关联绑定
  • 后端根据用户的数据权限返回可选的公司列表,前端下拉切换提交时,后端再进行二轮验证
设计点 说明
1. 统一多公司模型 所有表都带 company_id,所有查询都带 company_id 条件(少数功能除外)
2. 默认管控 用户不可切换公司
3. 开放数据权限 进行配置后开启能访问的公司列表,权限模式为 用户 - 规则 - 公司
4. 切换公司双重校验 前端下拉过滤 + 后端提交时权限校验

3.共享模块

  • 白名单:所有公司共享,查询时不做company_id筛选
  • 上传模块:所有公司共享,查询时不做company_id筛选
  • 菜单列表:所有公司共享,查询时不做company_id筛选
  • App版本,App菜单:所有公司共享,查询时不做company_id筛选
  • 人员-角色-权限:所有公司共享,查询时不做company_id筛选
posted @ 2025-07-01 11:01  ---空白---  阅读(46)  评论(0)    收藏  举报