近些年,随着技术和需求的发展,sass已经成为普遍现象,同时就出现了多租户概念,那么什么是多租户呢?
相较于传统企业的应用,只有一个企业在使用这一个系统,和别的企业无关,每次有一个企业采购一套之后,都需要单独为采购的企业布置一套应用,多租户的出现就改变了这一现象。
多租户模式就是在一个系统里面增加一个租户的概念,租户之间相互隔离,每一个租户可以认为就是一个企业,之后每有一个企业采购这套系统,开发商就只需要在系统里面增加一个相应的租户账号就好了,相对于之前的是不是方便多了?那么这一套是怎么实现的呢?
主要区别就在于权限管理,之前普通的单一租户应用的权限关系如下:
1.用户表:用于存储用户信息
2.角色表:用于存储角色信息
3.权限表:用于存储权限(也可以称为菜单表)
4.部门表:用于存储部门信息(搞简单点的话可以省略,不是必须)
5.岗位表:用于存储岗位信息(同上,也可以省略)
6.用户角色表:一个用户可以多个角色,一个角色可以多个用户(简称用户角色中间表)
7.用户岗位表:一个用户可以拥有多个岗位,一个岗位也可以多个人
8.角色权限表:一个角色可以拥有多个权限(就是拥有多个菜单)
9.角色部门表:一个角色可以在多个部门,一个部门也有多个角色
以上就是比较全面的单租户的表关系,当然可以再加一个用户组,用户组一般用于连锁型企业
那么现在出现了多租户架构,这时候很多小伙伴就很纳闷了,这应该怎么搞,经过几天的摸索,我算是大致的明白了其中的原理了:
1.用户表:用于存储用户信息
2.角色表:用于存储角色信息
3.权限表:用于存储权限
4.部门表:用于存储部门信息
5.岗位表:用于存储岗位信息
6.租户表:用于存储租户信息
7.套餐表:强烈建议增加,方便后期修改和扩展
8.租户用户表:一个用户可以在多个租户当中(参照企业微信),一个租户当中当然也不止一个用户了
9.租户角色表:一个租户有多个角色,多个租户角色可以雷同
10.租户部门表:同上
11.租户岗位表:同上
12.租户套餐表:方便后期拓展,例如某些基础功能免费使用,某些功能收费(看需要,可以直接在租户表中关联)
13.套餐权限表:一个套餐拥有许多权限,一个权限属于多个权限(多个权限放在一个字段)
14.角色权限表:一个角色可以拥有多个权限
15.角色部门表:一个角色可以在多个部门,一个部门也有多个角色
16.用户角色表:一个用户可以多个角色,一个角色可以多个用户
17.用户岗位表:一个用户可以拥有多个岗位,一个岗位也可以多个人