开发工具与关键技术:VS/MVC
作者:何桂朋
撰写时间:2019年6月15日
需求分析—场景(此段出自于CSDN的Gashina)
假设需要为公司设计一个人员管理系统,并为各级领导及全体员工分配系统登录账号。有如下几个要求:
- 权限等级不同:公司领导登录后可查看所有员工信息,部门领导登录后只可查看本部门员工的信息,员工登录后只可查看自己的信息;
- 访问权限不同:如公司领导登录后,可查看员工薪水分布界面,而员工则不能看到;
- 操作权限不同:如系统管理员可以在信息发布界面进行增删改查发布信息,而普通员工只可以在信息发布界面进行查看,不能修改、删除和新增。
而我做的医院权限管理需求和公司权限管理需求上面的差不多。
数据库设计
“用户类型”是相当于权限中“模块”的集合。可以将“模块”想象成打开“操作大门”的一把钥匙。而“用户类型”是装有不同钥匙的袋子,而授权(用户角色明细表)就是分给记录每个用户一个袋子。
模块表
模块是分层的,模块表-》模块明细表-》操作表
“模块”想象成打开“操作大门”的一把钥匙
用户类型表
用户类型表,也叫角色表,
序号 中文域名 类型 长度 备注
“用户类型”是装有不同钥匙的袋子,每个用户都有一个袋子。
用户授权表
用户类型表,也叫角色表,
序号 中文域名 类型 长度 备注
登陆执行过程
1、 确认用户。首先输入用户名、密码;
2、 确定用户角色。通过用户ID、在用户角色表找到用户类型ID、再通过用户类型ID找到用户类型
3、 确定角色的权限。通过用户类型找到能操作的模块,和操作内容。