RBAC权限管理在教务管理系统中的应用与实现
2014-03-19鞠宏军杜丽娟
鞠宏军,杜丽娟
(华北科技学院计算机学院,北京东燕郊 101601)
0 引言
高校教务管理系统涉及的人员多、信息量大,管理过程及操作复杂;并且必须严格区分和控制各类用户对系统访问的权限和功能,以保证系统数据及运行的安全。例如在教务管理系统的使用中,教师、学生、院系教务秘书及教务处各部门管理人员等应分别具有各自访问的功能权限及菜单。为方便对各级各类用户权限的管理,本文采用RBAC权限管理模式,在保证系统安全性的同时,极大的方便了开发人员对系统功能的管理和扩展,也方便系统管理员对各级用户功能菜单的动态配置。
RBAC(Role-Based Access Control)是基于角色的访问控制,它在用户和访问权限之间引入角色的概念,将用户和角色联系起来,通过角色授权来控制用户对系统资源及功能模块的访问。RBAC模式包括用户信息、角色信息、功能及权限授权三部分内容,实现了权限的最小化、批量定制功能,极大地简化了用户的权限管理。
1 登录验证及功能菜单分配流程
RBAC模式权限管理系统的登录验证及功能菜单分配过程如图1。
图1 系统登录验证及权限分配流程图
2 相关数据表设计
为实现以上权限管理,系统设置系统资源功能表、角色表、用户表。系统资源功能表用于存储各功能模块名称、模块对应url等信息,具体字段设计如表1;角色表用于存储系统角色及该角色具有的功能资源等信息,主要字段设计如表2;用户表用于存储系统用户名、密码、所属角色等信息,主要字段设计如表3。
表1 系统资源功能表
表2 角色表
表3 用户表
用户表和角色表之间通过用户表内的juese字段相关联,角色表和系统资源表之间通过jsgn字段相关联,进而控制用户具有的资源菜单功能。三表之间的RBAC关系如图2。
图2 系统用户权限RBAC表间示意图
3 角色授权界面设计
为直观地进行角色功能授权,系统功能采用树形图显示,具体功能授权界面设计如图4。
图4 功能授权界面设计
上图中,也可以选择按姓名授权,进行特殊用户的临时授权或者超过角色功能的授权。
4 系统实现
系统开发工具为Visual Studio 2010,开发语言使用C#,后台数据库采用Oracle 11g。整个教务管理系统主界面采用top、middle、bottom上中下三层框架结构。其中middle中间框架集又用table表格分为left和right左右两个iframe内框架,left用于显示动态菜单,right用于显示执行的功能效果。在left内框架中,实现用户角色权限菜单id的读取,动态菜单的生成。动态菜单采用c#读取数据表添加到Localize容器,在页面上动态生成CSS菜单实现,主要代码如下:
在生成的客户端页面,还有javascript函数配合实现菜单的收缩、展开功能,点击执行相应url功能等。
5 结论
本文主要阐述了基于RBAC模式的用户权限管理在教务管理系统中的应用及实现,系统通过添加角色及角色授权,实现了对用户的批量功能权限管理,及CSS菜单动态生成,解决了传统B/S管理信息系统在权限管理、动态菜单生成、功能模块扩展等方面修改不方便、不灵活的问题,具有一定的先进性、实用性和推广价值。
[1] 郑齐心.ASP.NET项目开发案例全程实录[M].北京:清华大学出版社,2011.
[2] 洪石丹.ASP.NET范例开发大全[M].北京:清华大学出版社,2011.
[3] 庞娅娟,房大伟.ASP.NET从入门到精通[M].北京:清华大学出版社.2012.
[4] 邵景峰,历谦,等.RBAC在高校智能排课系统中的应用[J].西安工程大学学报,2013,(10):660-666.
[5] 吴竞峰,张振明,等.基于改进RBAC模型的访问控制方法[J].计算机测量与技术,2012,(8):2046-2048.
[6] 卢清评,苏守宝,等.一种层次信任的RBAC扩展模型[J].东北师大学报,2014,(3):60-65.
[7] 杨骏,李中华,等.车辆监控系统中的多粒度RBAC改进模型[J].计算机应用与软件,2014,(2):109-111.
[8] 张才千,杨英浩.基于RBAC的档案管理系统权限设计[J].开封大学学报,2013,(6):86-89.
[9] 鞠宏军,杜丽娟.基于Web的期末考试考务管理系统的设计与实现[J].华北科技学院学报,2013,(4):63-67
[10] 张跃辉.基于RBAC通用授权管理系统的研究与实现[D].成都:电子科技大学,2012.
[11] 向奎.基于RBAC的用户权限管理系统的设计和实现[D].武汉:武汉理工大学,2013.