用户工具

站点工具


技术:SAAS

数据库设计

优点:所有租户使用同一套数据库,所以成本低廉。 缺点:隔离级别低,安全性低,需要在设计开发时加大对安全的开发量,数据备份和恢复困难。这种方案和基于传统应用的数据库设计并没有任何区别,但是由于所有租户使用相同的数据库表,所以需要做好对 每个租户数据的隔离安全性处理,这就增加了系统设计和数据管理方面的复杂程度。

数据表设计

群组(group):单独企业视为group。企业下有各自的组织,例如市场部,销售部,也可视为group。企业与部门有一定的区别。即企业相当于部门的一种特殊类型,部门上面有上级,而企业没有,可将企业定义为group一个继承类。SaaS平台不一定只为企业提供服务,可能还包括其他组织,例如一些团队,需要在企业上抽象一个Organization类型。

   

用户(User): 企业包含自身的用户,即企业与用户是聚合关系。部门与用户是关联关系,用户允许分配到不同的部门中。

角色(Role):企业包含自身的角色。每个企业之间的角色定义允许不同。角色需要上下级关系,通过上下级关系控制权限。

权限(right):为用户分配角色,通过对角色分配权限,控制模块权限。

数据源(DataSource):Organization包含自身的数据源,数据源指定数据存储到哪里,即持久化介质。这里只提供数据库方式,其属性包括连接字符串与数据库类型。

应用系统(Application) :Organization 拥有自己的软件应用系统。Application包括应用入口,即一个URL地址,可定义到不同的服务器。

平台管理员:负责平台的日常维护和管理,包括用户日志的管理、租户账号审核、租户状态管理、租户费用的管理,租户权限的管理,要注意的是平台管理员不能对租户的具体业务进行管理。如果租户数量大,还可以对平台管理员划分角色,可以按地域划分,比如西北地区、东北地区等,让平台管理员分别管理不同的租户;也可以根据业务进行划分,比如租户管理员,租费管理员等。

租户:指访问SaaS平台的用户企业,在SaaS平台中各租户之间信息是独立的。租户信息包括租户的名称、地址等租户企业的相关信息,主要用来区别各租户,并且由平台管理员对租户账号状态进行管理。各租户可根据需要自行选择SaaS平台功能模块并依此付费。

租户管理员:为租户角色分配权限和相关系统管理、维护。

租户用户:根据租户管理员分配的权限以及自己的角色进行相关的业务管理。各租户用户只能访问该租户选择的 SaaS 平台的功能模块。一个系统用户如果有多个角色,则他只能看到当前角色下的数据,通过角色切换,可以达到查看所属其他角色下的数据信息。

租户角色:根据业务功能分由租户管理员进行角色划分,划分好角色后,租户管理员可以对相应的角色进行权限分配。角色有上下级关系,上级可以查看下级的数据,下级不能访问上级的数据,平级之间不能相互访问。角色上层可再加入分组层(如分部门或团队等),不同组别的数据范围不同,资源、操作可以共享也可以隔离。

技术/SAAS.txt · 最后更改: 2022/05/10 18:09 (外部编辑)