zhangdaiscott 发表于 2023-5-15 19:19:34

JeecgBoot低代码平台—多租户SAAS解决方案,实现一键切换

JeecgBoot免费低代码平台,提供一键切换多租户模式机制!快速实现全系统的saas租户方案,通过租户ID进行数据隔离。
租户设计思路

1、开启全系统租户隔离
[*]开启方法
将 org.jeecg.config.mybatis.MybatisPlusSaasConfig#OPEN_SYSTEM_TENANT_CONTROL 改成 true
[*]开启实现功能:系统管理等模块默认实现租户隔离,涉及租户用户、租户角色、部门、我的部门、字典、分类字典、多数据源、职务。
[*]注意:系统目前有系统用户、系统角色菜单,这个是给超级管理员用的,不做租户隔离。
https://oscimg.oschina.net/oscnet/up-ba09060759060e5b051bdc1bd718a2c68f4.png

2、多个租户登录选择问题最新版租户模式,不再弹窗提示选择租户登录,系统会默认选择一个租户登录或者选择上次登录的租户登录,点击右上角 “切换部门”切换租户

3、租户权限设置
[*]目前租户角色和租户部门,不涉及租户权限功能,只做最简单的对象定义
租户角色只用于审批(类似职务),不参与权限授权,可以给租户用户分配角色。

[*]租户的个性化权限,可以通过租户下的套餐实现,自定义每个租户的权限
https://oscimg.oschina.net/oscnet/up-4a2e6f23ad855bbae22e667aae224fdf533.png

4、新功能做租户控制针对新功能快速实现租户隔离,请参考此文档。
5、系统管理模块是如何实现多租户?
[*]一部分是通过硬编码实现数据查询,按租户 ID 隔离
[*]一部分是直接通过MybatisPlusSaasConfig加入tenantTable的表配置


支持更多功能关于租户的实战应用,可以参考 敲敲云的设计,目前敲敲云用的就是jeecgboot底层代码实现。
a. 新注册用户支持选择租户加入,通过租户的门牌号
b. 新注册用户支持创建租户
c. 支持邀请人加入租户
d. 支持一个人加入多个租户
e. 租户支持
f. 员工离职(移出租户)
https://oscimg.oschina.net/oscnet/up-5dda61bddadfe070e4f5f6a076f73af2b30.png

冯小刚 发表于 2023-7-7 11:02:26

没懂你们的租户套餐作用是啥?租户内新建角色或部门授权,可选菜单也是系统级的,并不是套餐内的
页: [1]
查看完整版本: JeecgBoot低代码平台—多租户SAAS解决方案,实现一键切换