APP下载

基于RBAC的分层通用权限管理系统设计与实现

2015-02-27佘向飞,边蓓蓓



基于RBAC的分层通用权限管理系统设计与实现

主要研究软件技术应用。

佘向飞,边蓓蓓

(长春工程学院,长春 130012)

摘要:结合RBAC授权模型和JSP技术设计了一种分层次的权限管理系统。通过该系统可以实现一个信息管理系统的权限等级定制,对于同一角色(如系统管理员)还可进一步对权限等级进行细分;并利用JSP将RBAC的功能独立出来构成一个单独的权限管理系统。通过实际运行,可证明,利用本系统可以显著提高代码的重用性、功能的重用性以及研发效率和软件质量。

关键词:权限管理;通用;JSP;RBAC模型

0引言

随着Internet技术的快速发展和企业信息化程度的不断增强,基于Web的信息管理系统已经成为企业必须具备的软件系统,目前广大企业、事业、政府机关都研发了自己的信息管理系统。权限的管理是信息管理系统的重要组成部分,它对于维护数据、业务甚至操作系统的安全十分重要。

权限管理在系统中通常以模块的形式出现, 该方式可以将权限管理的共性代码抽取出来。通过权限模块化虽然可以提高系统高内聚低耦合性,但是它并不能解决各个系统间的重复工作问题,同时不同系统间权限和等级的差异单纯依靠模块也难以解决。在实际工作中可以发现多数信息管理系统的权限管理存在较大共性,它们的区别仅是层级上的:如在教育系统中省级管理机构可以采用“省—地—县(市、区)—学校”4级权限,而对于学校可以分为“院级—学院级—教研室级—教师”。因此抽取信息管理系统权限管理的共性,设计一种通用权限管理系统来辅助管理权限是十分必要的。

近年来基于角色的访问控制RBAC(Role Based Access Control)作为传统访问控制(自主访问、强制访问)受到广大研发者的广泛关注。在RBAC中权限与角色相关联,通过获得系统角色和成员,用户可以得到对应的权限,极大地简化了权限管理的流程。本文结合RBAC授权模型和JSP技术设计了一种分层次的权限管理系统。通过该系统可以实现一个信息管理系统的权限等级定制,对于同一角色(如系统管理员)还可进一步对权限等级进行细分,并利用JSP将RBAC的功能独立出来构成一个单独的权限管理系统。本系统在教育系统中进行实际运行,可以发现利用本系统可以显著地提高代码的重用性、功能的重用性以及研发效率和软件质量。

1基于JSP通用权限管理系统的结构

1.1通用权限管理

标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0、角色分级模型RBAC1、角色限制模型RBAC2和统一模型RBAC3。本通用权限管理采用的是在RBAC0基础上扩展的模型,如图1所示。

在RBAC0扩展的模型中,包含用户、角色、会话、操作、许可权、菜单、栏目7个基本元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话是用户与激活的角色集合之间的映射,而权限又归属于栏目,栏目归属于菜单,权限将间接归属于某个菜单,权限给用户是决定用户能操作,权限属于栏目是决定页面应显示哪些菜单、栏目、权限。

1.2通用权限管理系统功能划分

通用权限管理系统的功能结构如图2所示。

图1 RBAC0扩展的模型图

图2 通用权限管理系统的功能结构

通用权限管理系统包含8个子模块,菜单管理模块负责管理系统中菜单导航的内容以及排序情况;栏目管理模块负责管理某菜单下显示栏目以及栏目的排序;权限资源管理模块负责管理系统中所有权限资源(功能),即是系统中包含的功能,权限资源与某个栏目关联,在栏目中的显示顺序,而权限资源管理也和角色关联,在通用权限管理系统中起到了承上启下的作用。上面3个模块属于一个部分,目的都是通过界面显示功能与用户交互。权限资源分配模块负责管理权限资源分配给某个角色;角色管理模块负责管理系统中有哪些角色,起到了用户与资源之间的桥梁;用户角色管理模块负责管理用户与角色之间的关系,即间接地把权限资源分配给用户;用户管理模块负责管理系统中有哪些用户、密码、用户基本信息等内容;用户等级模块负责管理系统中有哪些等级,并提供给用户管理选择用户等级,等级也可以看成是部门,根据这个可以决定能查看或操作同一个表中的哪些数据。

1.3系统的设计与实现

通用权限管理系统表间关系如图3所示。

通用权限管理系统共有8个实体表,菜单包含栏目,是1对多的关系,栏目可以包含多个权限资源,是1对多关系,权限资源与角色关联产生了一个角色权限表,权限资源与角色权限是1对多关系,一个角色可以拥有多个权限资源,一个权限资源可以被多个角色关联;用户表与角色表关联产生了用户角色表,一个用户可以有多个角色,当有多个角色时用户就可以有多种权限,用户等级与用户表是1对1的关系,根据用户等级来筛选用户访问数据记录。

通用权限管理系统采用JSP+JavaBean+Filter实现,如图4所示。

通用权限管理系统,在基本信息管理方面主要是对菜单、栏目、权限资源、角色、用户等管理;在通用权限管理系统应用方面,主要是判断登录是否合法,合法就会根据用户信息得到菜单、栏目、权限资源等集合,根据集合自动生成或排版页面,与用户交互,当用户操作时,继续检测用户访问是否合法,与用户交互界面通过JSP实现,登录以及检测是否在权限范围通过Filter实现,业务逻辑通过JavaBean实现。

2系统运行与分析

本系统已经在实际的教育发展与规划管理平台系统中进行了应用,如图5所示。

图3 通用权限管理实体关系图

图4 通用权限管理系统实现流程

图5 教育发展与规划管理平台系统

使用了这个权限管理系统之后,所有的功能就类似于可插拔的形式,即添加一个模块的功能,卸载掉一个功能都可以通过最小代价实现。

3结语

本研究引入RBAC技术设计了一种基于JSP通用权限管理系统,通过该系统可以实现一个信息管理系统的权限等级定制,并利用JSP+JavaBean+Filter将RBAC功能独立出来构成一个单独的权限管理系统。经过实际应用表明利用该系统可以实现信息管理系统的权限管理可插拔式的调整,提高了代码的可重用性,可以降低开发成本以及缩短开发的时间。

参考文献

[1] 张景元, 巴连良.基于Web的科研信息管理系统 [J].计算机工程与设计, 2007 ,19: 1-5.

[2] 暴志刚,胡艳军,顾新建.基于Web的系统权限管理实现方法[J], 计算机工程,2006(1):1-5.

[3] 蔡昭权.基于业务无关的权限管理的设计与实现[J].计算机工程,2008(9):1-5.

[4] 何苗.基于SSH2框架与ExtJS技术的权限管理模块的设计与实现 [J].电子设计工程, 2013,13:1-5.

[5] 高右起,尚勇,万建成.权限管理的设计模式[J].计算机工程与应用,2003(28):8.

[6] 匡宏,赵恩来,郝文宁,等.权限管理及访问控制系统的研究与实现[J].计算机工程与设计,2011(8):2588-2591.

[7] 徐斌,袁健.基于Web2.0的用户权限管理研究与实现[J]. 计算机工程,2008,34(13):157-159.

The design and implementation to hierarchical

general authority management system based on RBAC

SHE Xiang-fei, et al

(ChangchunInstituteofTechnology,Changchun130012,China)

Abstract:This paper designs a hierarchical authority management system based on RBAC authorization model and JSP technology. It can realize the hierarchical authority formulation of one information management system. The hierarchical authority can also be further subdivided for the same role (e.g., system administrator). An independent authority management system can be established and the functions of RBAC can be separated by using JSP. Through the actual operation, it can be proved that using this system can significantly improve the reusability of code and function, the efficiency of research, and the quality of software.

Key words:authority management; general; JSP; RBAC model

文献标志码:A

文章编号:1009-8984(2015)04-0085-04

中图分类号:TP311.52

作者简介:佘向飞(1980—),男(汉),长春,讲师

基金项目:吉林省教育厅项目(吉教科合字[2011]第253号)

收稿日期:2015-11-16

doi:10.3969/j.issn.1009-8984.2015.04.021