项目day02

本文讨论了基于SaaS服务的系统中,租户注册和购买流程。详细介绍了多租户数据库隔离的三种设计模式:独立数据库、共享数据库与独立scheme以及共享数据库与共享scheme。同时阐述了租户权限的设计,包括超级租户的角色、租户注册购买套餐、员工角色权限分配及员工登录后的权限展示。
摘要由CSDN通过智能技术生成

1.1.租户注册和购买

本系统是基于saas服务的。统一开发,维护.租户(注册付费的公司)需要在本系统中进行注册,并付费,然后根据付费情况使用系统功能。
多租户数据库隔离的三种设计模式:

①:可一个租户都单独的数据库:
在应用服务器中配制不同的数据源,或者使用不同的连接池。
每套公司都有数据库,多个连接池
优点:不同客户的数据物理分离,安全性比较好。
缺点:数据库连接的利用效率不高,技术难度大,需要动态的切换数据源。
②:共享数据库,独立的scheme
这个方案基本是方案①的变种。同一个数据库下可以有多个Schema(crm1 crm2 crm3 数据库约束)
优点:除了方案①的优点以外,共享数据源或连接池,效率更高。
缺点:数据库连接池开销会比较大,在mysql数据库中,schema概念不想oracle那么明了。
③:共享数据库,共享scheme,共享数据库表,通过租户id进行区别:
所有租户的数据都存放在一个数据库的同一套表中, 在表中增加tenant_id标志字段,表明该记录是属于哪个租户的。
优点:数据源和数据库的管理都比较简单。和原来的应用没有差别。
缺点:数据权限比较复杂,增加程序的复杂性。如果应用比较复杂,很多数据表都需要加入客户标志字段,很多查询都需要包括该字段,会比较麻烦。如果有遗漏,、特别是查询条件中遗漏该字段,就会造成一个客户看到另一个客户的数据。
租户权限设计
1:给运营者,提供一个默认的超级租户,用于系统设置:比如价格和权限的套餐设置。赋予所有的系统权限
2:租户注册,付费购买套餐
3:租户进行员工的创建,角色和权限的处理,并赋予给员工
4:租户员工登录后,根据购买的套餐权限,根据角色显示菜单,进行业务操作(不怕没有授权的资源被用户恶意在页面输入访问,因为在shiro中权限的授权处,是根据这个登录员工,只授权他拥有的权限。)
<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值