这段时间进行OA的权限管理的学习,由于视频质量的问题,所以很多的地方不是很清楚,这篇文章特别进行一下需求的总结。
第一步首先是用例图,一般在权限管理里面最少有一个角色(高级管理员),一般常见的就是两个和多个,下面以最简单的两个为例进行分析。
对用例进行描述:
1、 系统用户
系统管理员:具有系统最高级别的权限,实行信息的全局管理与数据维护工作。
普通用户:由系统管理员分配权限,在角色权限范围内进行访问与操作。
2、 系统登陆 判断用户的IP来源是否在黑名单之列,对系统进行第一道防火墙保护。 对用户名和密码进行校验登陆。如果帐号和密码相匹配,则直接进入用户工作界面;否则,提示用户“用户名或密码不正确,请重新输入”,窗口跳转回到用户登陆窗口。
3、 工作界面 系统根据用户的权限对工作窗口进行初始化,不同角色的用户具有对应的工作窗口界面。
4、 用户管理 系统管理员完成用户信息的录入、维护以及用户授权工作,并给用户指定组织机构。 系统应具备根据部门编号,用户编号,用户姓名来检索数据的功能。
5、 角色管理 角色是一组用户的集合,具有指定的权限完成特定的资源访问与操作行为。为对有相似权限的用户进行分类管理,定义了系统管理员、管理员、用户、访客等角色。角色具有上下级关系,系统管理员通过角色授权分配权限资源,那么,下级角色的权限范围只能在上级权限范围实行进行授权操作。角色管理包括角色信息录入、信息维护、将角色授权给用户、查看角色用户列表。
6、 组织管理 与企业的部门或者机构对应,用于实现对用户的分组归类管理。 组织具有上下级关系,可以实现无限级的子节操作,管理范围包括组织信息录入、组织信息维护、察看组织员工等操作。
7、 资源管理 资源权限是系统对用户访问的资源的路径(包括图片、附件、页面等)显示和访问进行控制。资源具有上下级关系,为了方便界面的渲染与加载,资源的父子层次结构最好不超过3层。
8、 操作管理 操作是资源访问控制相关的按钮控件或者操作,用于对资源权限进行更细粒度的管理。
第二步用户授权流程
用户授权流程主要是完成用户角色以及用户组织的分配,显示了系统用例之间的相互调用关系。授权流程如下:
1、创建用户信息,分配业务角色;
2、进行角色管理,如果没有对应的角色,可以在角色管理模块完成角色的创建和资源授权工作;
3、给用户分配组织机构,完成用户授权。
第三步数据库概念模型:
第四步权限管理
1、 用户(User)可以拥有多个角色(Role),角色可以被分配给多个用户
2、 权限的意思就是对某个资源的某个操作,现在规定:
a) 所谓资源,即系统的模块
b) 所谓操作,包括:增加、删除、修改、查询等操作
3、 权限管理系统的总体功能分为:授权与认证
4、 授权,指将权限授予角色或用户
a) 如果用户A拥有角色B、角色C,那么,缺省的情况下,用户A将拥有被分配给角色A和角色C的所有权限(即默认情况下,用户A继承其拥有的角色所具有的所有权限)
b) 如果用户拥有多个角色,那么用户的权限是这些角色权限的合集
c) 如果用户拥有多个角色,而且角色之间的授权有冲突(比如对同一个资源的同一个操作,一个角色为“允许”,另外一个角色为“不允许”),将以优先级别高的角色为准(所谓优先级别,也就是对于这个用户所拥有的角色而言,是有顺序的,同一个角色在不同的用户那里可能拥有不同的优先级)
d) 除了可以对角色进行授权外,也可以针对用户进行授权,也就是说,将权限授予用户。针对某个资源的所有操作,我们可以设置这些权限对用户来说是“继承”或“不继承”
i. 继承:意思是这些权限将使用其(即用户)所拥有的角色的权限,而不使用其(即用户)单独设置的权限
ii. 不继承:意思是这些权限将使用其单独设置的权限,而不使用其所拥有的角色的权限
5、 认证,指用户访问资源的某些操作时,根据授权,判断是否允许用户的访问
a) 在用户访问的时候,需要进行即时的判断(是否有权访问)
b) 应该提供查询的功能,可以查询某个用户所拥有的所有权限