数据权限控制模型设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一需求描述
1.每个用户只可以为自己新增业务数据;
2.每个用户缺省只可以看到自己的业务数据;
3.每个用户同时只能隶属于一个机构;
4.当某个用户被指定为某个机构的管理者后,他可以看到并维护该机构下所有用户的业务
数据;
5.一个用户可以是多个机构的管理者;
6.
二表结构
1 用户表
上级代码含义:
根据用户所属的机构, 要把机构(包括该机构的所有上级机构)的管理者, 以及授权表里该机构(包括所有上级机构)的管理者, 都要加到上级代码中
2 机构表
上级机构代码是为了便于查找一个机构的所有上级或者下级机构
3 授权表
该表表示特殊或者临时授权, 不表示用户与机构的从属关系.
该表增加删除记录时, 要对用户表的上级代码字段作相应修改
要把机构(包括机构的所有下级机构)下的用户的上级代码都加上该用户.
4 业务数据表
本表按医生、患者的关系模拟存储患者信息
三控制实现
当某个用户登录系统, 要查看患者时
把患者表和用户表关联查询, 用自己的用户代码(最好前后加”,”, 以避免用户代码包含问题), 在用户表的上级代码字段上用like作条件
四功能设计
1 机构维护
使用对象:系统管理员
功能要求:对系统中的机构数据实现增、删、改等操作;
其他条件:
系统中根节点机构只有一个,在系统初始化时将该节点写入表中;
在根节点基础上按上下级关系对机构数据进行维护,其中根节点不可以删除;
2 用户维护
使用对象:系统管理员
功能要求:按照机构隶属关系的不同,对用户实现增、删、改等操作;
其他条件:
新增一个用户时,根据用户所属的机构, 要把机构(包括该机构的所有上级机构)的管理者, 以及授权表里该机构(包括所有上级机构)的管理者, 都要加到该用户的上级代码中修改一个用户的所属机构时,要把该用户的上级代码修改为:修改后的机构(包括该机构的所有上级机构)的管理者, 以及授权表里该机构(包括所有上级机构)的管理者
3 用户授权
使用对象:系统管理员
功能要求:按照用户对机构的管理关系的不同,对用户实现授权的增、删、改等操作;
其他条件:
该表增加删除记录时, 要对用户表的上级代码字段作相应修改。
增加记录时,要把机构(包括机构的所有下级机构)下的用户的上级代码都加上该用户.
删除记录时,要把机构(包括机构的所有下级机构)下的用户的上级代码都去掉该用户
4 患者数据维护