管理信息系统 权限和域模型设计 涉及到俩方面,针对每个登录的用户,至少拥有俩个角色,
1、1个是 该用户所拥有的角色,角色在这里只限制 ,菜单权限和 按钮的功能权限
2 、 另一个是 该用户所关联的业务模型,所具有的域模型角色
由于第一种功能角色很好设计,只是功能资源权限和角色和用户之间的对应关系,这块我就不多说了。下面针对不同业务场景,设计一个通用的域模型架构。
首先肯定是,每个现场的客户的业务模型是不同的,也就是可以理解为组织架构层级不同,每个层级所看到的数据,以及对所看到的数据的crud,是严格跟具数据内容有关系的。
举个简单的例子,客户经理可以看到自己创建的数据和删除这些数据,和查询上级创建的数据,但是他没有针对上级创建的数据的删除权限。 但是这个业务模型如果负责起来,组织架构的级别如果很深(5-10级),层级之间的crud关系错综复杂,系统就会变得相当复杂。
因此衍生出权限域的设计。
权限域关联表:默认设计
数据实体, 域模型(n个根节点树形结构),
控制级:本级crud(肯定是要有的)+ 下级crud
+ 上级级crud ,
eg:
域模型树形结构:
树形结构。。。。。。。
以下是
权限域关联表表结构设计
(1) 用户和域的关系是 ,多对一的关系。在用户端标识,是否允许走本域查询关系,如不允许,则不走域的关系表
(2) 在数据模型那块,要增加与域对应的关系字段
dataMode |
数据实体
|