权限设计-系统登陆用户权限设计
需求分析-场景:
假设需要为公司设计一个人员管理系统,并为各级领导及全体员工分配系统登录账号.有如下几个要求:
1.权限等级不同:公司领导登录后可查看所有员工信息,部门领导登录后只可查看部门员工信息,员工登录后只可查看自己的信息.
2.访问权限不同;如公司领导登录后,可查看员工薪水分布界面,而员工则不能看到;
3.操作权限不同:如系统管理员可以在信息发布界面进行增删改查发布信息,而普通员工只可以在信息发布界面进行查看,不能修改.删除和新增.
功能分析
1.登录一个系统,基本都要输入用户名,密码;
2.每个用户的角色不同,则其访问权限一般也不同,,如:系统管理员:可查看所有界面;普通用户:只能查看部分界面.
3.不同的用户,及时可以查看同样的界面,但在该界面上可进行的操作权限也不同,如
用户1:可在界面1上进行增删改查;
用户2:只可以在界面以上查看,不具备增删改功能;
4.不同用户基本都对应不同的角色,如:用户1.用户2分别对应管理员角色,操作员角色,角色之间也存在权限等级的差异,如:
角色1:对应省级管理员; ==>可以查看该省下的所有学校信息;
角色2:对应实际管理员;==>可以查看该市下的所有学校信息;
角色3:对应县级管理员:==>可以查看该县下的所有学校信息;
不管是省.市.县哪个系统管理员,他们可访问的界面都是相同的(即访问权限相同),且在每个界面上可进行的操作权限也相同,不同的管理员角色可以访问的学校个数和学校的范围不同,这里称这种不同为:权限等级不同.
总结:
从上面的分析中,主要涉及以下几个概念:
1.角色:
系统管理员角色
系统操作员角色
普通用户角色;不同的角色,其访问权限是不同的,即可访问的模块(界面)集合是不同的;角色的权限等级也不同,权限等级如:公司领导,部分领导,普通员工
2.模块(界面)模块就是指具体的界面,每个模块上又有不同的操作,如:增删改查
3.访问权限:确定角色可以访问的模块(界面)集合
4.操作访问权限:确定可以在各个模块(界面)上进行操作集合如增删改查;
5.权限等级:即确定角色可以访问的范围,如:
角色1:权限等级为公司领导,则可以查看公司所有员工信息
角色2:权限等级为部门领导,则只可以查看该部门所有员工信息
数据库设计
1.模块定义表:
2. 角色定义表:
3.授权定义表:
4. 系统用户表:
登录执行过程
1. 系统登录时,首先输入用户名、密码;