关于OA系统权限管理的设计方案

2021-04-11 14:56昆明市第三中学张顺攀
电子世界 2021年6期
关键词:校验菜单办公

昆明市第三中学 张顺攀

用户权限管理是办公系统中最重要的组成部分,设计一个良好的权限管理体系,可以整合许多零散应用系统的授权问题,节约大量人力物力,本文主要对办公系统中的权限管理方式进行分析,实现权限动态管理,在实践中取得了良好的效果。

1 问题的来源

办公自动化(Office Automation,OA)是将办公和计算机网络功能结合起来的一种新型的办公方式,是当前新技术革命中一个技术应用领域,属于信息化社会的产物。目前大部分公司、企事业单位都会使用很多办公系统,这些系统有些是上级统一配置的,有些是单位自己购买的,还有些是单位自主开发的。就我校而言,每个部门都在使用着很多系统,例如上级统一配置的有:学校办公室使用的事业单位OA系统、人事管理系统、工资管理系统;教务处使用的中高考报名系统、学业水平考试管理系统;总务处使用的财务管理系统、固定资产管理系统等。学校自行购买的有一卡通管理系统、图书管理系统,学生学籍成绩管理系统、校园只能广播系统、选课系统、阅卷系统、课堂评价系统等。除此之外,学校还自主开发了校园网站、小升初网络报名系统、初高中入学管理系统、报刊订阅系统、教师网络办公系统、投票系统等。系统繁多且操作复杂,相关人员还需要记忆若干个系统的用户名密码,给工作人员带来了众多不便,并且若每个应用系统都重新对系统的权限进行设计,以满足不同系统用户的需求,也将会浪费开发者不少时间,所以花时间来设计一个相对通用的权限系统是很有意义的。

作为一名专业技术人员,笔者一直想尝试将学校自主开发的所有系统整合,让相关人员使用同一套用户名密码解决所有登录问题,这就需要用统一的权限系统进行管理,本系统的设计目标是对应用系统的所有功能进行权限控制,比如应用系统的功能菜单、各个界面的按钮控件等进行权限的操控。

2 设计思路

利用用户,角色,部门,权限的相互组合,形成一个强大的权限管理系统。其具体方案如下:

2.1 设计四个基本表

包括权限表、用户表、角色表、部门表(部门表可依据实际应用环境更名或者删除)

权限表:权限主要是指系统的功能权限,负责存储系统中所有功能模块的路径,调用方法(包括POST和GET)及增、删、改、查操作,通过权限控制用户是否具有该功能的操作权限。

用户表:用户表仅仅是纯粹的用户信息,含用户名、密码、姓名、电话、EMAIL等基本信息权限。

角色表:负责存储角色ID、角色名称、创建时间等基本信息。

部门表:存储部门ID、部门名称、职责、部门负责人等信息。

2.2 创建相互关系(如图1所示)

(1)用户的权限通过角色来控制,一个角色拥有多个功能权限。

(2)一个用户可以拥有若干个角色,用户通过角色获取功能权限。

(3)一个部门可以拥有若干个角色,部门通过角色获取功能权限。

(4)一个用户可以属于若干部门,用户可以通过部门获取角色,进而得到功能权限。

图1 创建相互关系

(5)特殊权限:用户可以跳过角色直接获取或被禁止访问功能权限,一个用户可以拥有若干特殊权限。若用户拥有特殊权限,则特殊权限有最高优先级,如一个用户U通过角色R得到功能权限A的访问权,但该用户U的特殊权限表明U禁止访问功能权限A,则U将无法得到功能权限A的访问权。

注:若系统不需要部门表,只需要将部门表及其相互关系删除即可,不会影响到其他表。

3 权限操作流程

用户权限系统的核心由以下三部分构成:创造权限、分配权限和使用权限。如图2所示。

图2 创建权限信息

(1)创建权限信息,指定系统模块具有哪些权限。

(2)由系统管理员创建用户和角色,并指定用户角色和角色权限的关联关系。同时由系统管理员创建部门,并指定用户和部门,部门和角色权限的关联关系。如图3所示。

图3 系统管理员创建用户和角色

(3)用户使用分配给的权限去使用各个系统模块,获得用户对模块的使用权限。如图4所示。

图4 用户权限

4 权限审核流程

4.1 校验用户是否登录

如果没有登录直接跳转到错误页。

4.2 校验用户是否有访问此功能权限

(1)查询功能权限

获取当前请求地址和请求方法对应的权限,如果没有当前地址对应的权限,直接跳到错误页,如果有则进入下一步。

(2)校验用户特殊权限

查看当前用户有是否和当前权限关联,如果有关联则进一步获取访问类型,若是允许,则直接允许请求,若为禁止访问,则直接跳到错误页;若该用户没有关联特殊权限,则进入下一步。

(3)通过用户角色校验权限

首先获取该用户的所有角色,再得到每个角色的所有权限,将所有角色权限合并到一个集合,再判断当前的功能权限是否在集合中,若存在,则直接允许请求,否则进入下一步。

(4)通过用户部门校验权限

首先获取该用户的所有部门,再通过部门获取角色,进而得到每个角色的所有权限,将所有角色权限合并到一个集合,再判断当前的功能权限是否在集合中,若存在,则直接允许请求,否则跳到错误页。

小结:以上功能已经在我校的OA系统中实践过,在实际应用中体现出了良好的易用性和可操作性。此外该权限系统也有可扩展的部分,如用户的菜单权限也可以直接整合到权限表中,只需要在权限表里增加一个字段,判断该权限是否是菜单权,用户登录时前台菜单显示根据角色所拥有的菜单权限所决定,不同的用户在前端显示的操作菜单是不一样的,其菜单权限的操作流程和审核流程与功能权限的流程基本一致。

猜你喜欢
校验菜单办公
Sharecuse共享办公空间
X-workingspace办公空间
中国新年菜单
炉温均匀性校验在铸锻企业的应用
U-CUBE共享办公空间
本月菜单
大型电动机高阻抗差动保护稳定校验研究
基于加窗插值FFT的PMU校验方法
民用建筑低压配电系统计算校验软件的探讨
一个“公海龟”的求偶菜单