SAAS架构设计2-流程图-注册流程图

用户和租户的关系(多对多)注册流程说明

注册流程

个人账号注册(全局身份)

用户首先注册个人全局账号,填写基础信息(如邮箱、手机号、密码等)。

系统要求邮箱或手机号全局唯一,作为用户唯一标识。

注册完成后,用户拥有独立账号,但此时未关联任何租户。

加入或创建租户(租户关联)

加入现有租户:

用户通过租户邀请链接、租户ID或管理员审核的方式加入租户。

例如:酒店管理员发送邀请链接给员工,员工登录后确认加入。

创建新租户:

  1. 若用户是租户管理员(如新酒店或经销商),需在注册后补充租户信息(如酒店名称、营业执照等),系统自动创建租户(tenant),并绑定该用户为管理员设置字段(init_admin_id)。
  2. 创建租户与用户关系插入记录(tenant_user)

登录流程

  1. 登录平台账号
  2. 获得平台账号下面的租户信息(tenant),
  3. 点击进入平台管理中心。
  4. 判断当前账号是否为租户的默认管理员
是管理员:

根据租户ID,直接获得租户菜单权限,执行流程:tenant->tenant_type->module->menu

不是管理员:

根据租户的角色获得权限:user_role->role->menu

示例场景

租户A注册流程

租户A提交注册信息(名称、管理员账号)。

系统创建租户A记录,分配预设权限(如user:read, order:create)到tenant_permission。

自动创建角色"租户A管理员",关联所有分配的权限。

创建用户"admin@a.com",绑定管理员角色。

租户A创建员工

租户管理员登录,创建新用户"user1@a.com"。

创建新角色"客服",从tenant_permission中选择权限(如order:read)。

将"user1@a.com"绑定到"客服"角色,该用户仅拥有order:read权限。

安全与约束

权限隔离:通过tenant_id确保租户数据完全隔离。

权限校验:

创建角色时,仅允许选择tenant_permission中的权限。

修改角色权限时,需校验权限是否属于租户。

唯一性约束:

租户名称全局唯一。

用户名在租户内唯一。

角色名称在租户内唯一。

优化建议

缓存机制:缓存租户的可用权限和角色权限,减少数据库查询。

审计日志:记录权限分配和角色变更操作,便于追溯。

批量操作:支持批量分配权限给角色,提升管理效率

'

用户和租户的关系(一对一)注册流程说明

租户注册流程:

  1. 租户填写注册信息(如租户名称、管理员用户信息)。

  2. 系统创建租户记录(tenant)。

  3. 系统为租户分配预设权限(插入到tenant_permission)(如分配基础权限包tenant_type_permission)。

  4. 系统为租户创建默认角色添加记录(role):

  • 管理员角色:拥有所有分配给该租户的权限(role_permission)。

  • 普通用户角色:可能有一些基本权限,由平台预设。

  1. 创建初始管理员用户(user),关联到租户,并分配管理员角色。

  2. 管理员用户可以登录,创建员工账号和角色,分配权限(仅限于tenant_permission中的权限)。

员工注册流程(由租户管理员操作):

  1. 租户管理员创建新用户(员工),指定用户名、密码等信息。

  2. 选择该用户要分配的角色(必须是该租户已有的角色,或者新建角色)。

  3. 新建角色时,租户管理员从该租户的可用权限(tenant_permission)中选择权限。

  4. 用户创建后,自动关联到所选角色,获得相应权限。

租户开通模块流程关键流程说明

****选择模块:****租户管理员在平台提供的模块列表中选择需要开通的模块(如订单管理)。

****权限同步:****插入tenant_module记录。根据module_permission表,将模块下所有权限插入tenant_permission。

****权限生效:****租户管理员可为角色分配新开通模块的权限。

关闭模块流程

移除模块:删除tenant_module中对应记录。

清理权限:从tenant_permission中移除该模块关联的所有权限。

角色更新:自动移除角色中已失效的权限(需触发校验)。

相关推荐
✎ ﹏梦醒͜ღ҉繁华落℘4 小时前
Visio 绘制流程图
流程图
ClouGence9 小时前
不用搭复杂系统,也能做跨地域数据迁移?
大数据·数据库·saas
秋94 天前
AI快速生成可编辑的流程图的方法
流程图
宁静致远20214 天前
Mermaid VSCode插件制作流程图保存方法
ide·vscode·流程图
min1811234566 天前
小型网站开发简易流程步骤 在线画图工具快速生成开发流程图方法
论文阅读·信息可视化·毕业设计·流程图·论文笔记
DYuW5gBmH7 天前
Kafka 成功消费消息的完整流程图
分布式·kafka·流程图
数说星榆1819 天前
无人员伤亡车辆事故处理流程图 快速结案流程
架构·电脑·流程图·职场发展·课程设计
dajun1811234569 天前
信息系统运维管理全流程详解 在线画图工具绘制运维流程图表技巧
运维·数据库·信息可视化·流程图·旅游·论文笔记
数说星榆1819 天前
罕见病例报告流程图学术论文用
论文阅读·人工智能·流程图
fish-man10 天前
测试流程图显示
流程图