教研管理系统权限模块的设计与实现

2010-10-22 04:23:24孙佰利郝尚富王志辉
关键词:访问控制管理员管理系统

孙佰利,郝尚富,王志辉

(河北北方学院信息科学与工程学院,河北张家口075000)

0 引 言

“教研管理系统”是一款专门为连接教育管理部门和各所中学,实现统一教学管理和教学资源共享的综合性系统,该系统主要包括教研室和学校两大实体,采用客户端与Web服务相结合的工作模式.在整个系统设计过程中,由于每个实体下都有若干个子系统,各子系统不可能对所有的用户开放,这样做既不利于数据保密,又会对系统安全运行造成威胁,因此,权限管理就成为系统设计的核心部分.

权限管理可以提高整个信息系统的安全性,但也往往是一个及其复杂的问题[1,2],所做的安全机制可归纳为这样的逻辑表达式:有 “谁”能够访问系统的信息、用户访问的是 “什么信息”、哪个用户被授予“什么样的权限”,若想使其表达式为真,就必须采用具有一定访问控制策略与机制的权限管理系统,一旦确定了权限管理和发布的方式,访问控制系统就可以控制用户的访问,从而达到保护整个系统的目的.

1 访问控制技术

对于访问控制技术,国内外学术界已经做了大量的理论研究工作,提出了许多种模型,目前主流的访问控制策略主要有自主访问控制 (Discretionary Access Control,DAC)、强制访问控制 (Mandatory Access Control,MAC)和基于角色的访问控制 (Role Based Access Control,RBAC)[3,4].

1.1 自主访问控制 (DAC)

目前我国大多数信息系统的访问控制模块都是借助于自主访问控制方法中的访问控制列表 (Access Control Lists,ACLs),它主要是基于主体及其身份来控制主体的活动,能够实施用户权限管理、访问属性 (读、写、执行)管理等.自主访问控制有一个明显的缺点,就是这种控制是自主的,它能够控制主体对客体的直接访问,但不能控制主体对客体的间接访问 (即,利用访问的传递性,A可访问B,B可访问C,于是A可访问C).虽然这种自主性为用户提供了很大的灵活性,但同时也带来了一定的安全问题.

1.2 强制访问控制 (MAC)

安全级别高的计算机采用这种策略,它常用于军队和国家重要机构,强调对每一个主、客体进行密级划分,将数据分为绝密、机密、秘密和一般等几个级别,并采用敏感标识来标识主、客体的密级.用户的访问权限也类似定义,即拥有相应权限的用户可以访问对应安全级别的数据,从而避免了自主访问控制方法中出现的访问传递问题.这种策略具有层次性的特点,高级别的权限可以访问低级别的数据.这种策略的缺点在于访问级别的划分不够细致,在同级间缺乏控制机制.

前两种均属于传统的访问控制策略,既工作量大,又不便于管理,RBAC是由David Fenaiol、Richard Kuhn等人提出的,是当前信息系统资源访问控制公认的有效方法.本系统的权限模块采用RBAC策略.

1.3 基于角色的访问控制 (RBAC)

RBAC包含三个实体:用户、角色和权限.用户是对数据对象进行操作的主体,可以是人、机器人和计算机等.权限是对某一数据对象可操作的权利.角色的概念源于实际工作中的职务.一个具体职务代表了在工作中处理某些事务的权利,把这个概念引入权限管理中,则角色作为中间桥梁把用户和权限联系起来.用户与特定的一个或多个角色相联系,角色与一个或多个访问许可权相联系,角色可以根据实际的工作需要生成或取消,而用户可以根据自己的需要动态地激活自己拥有的角色,避免了用户无意中危害系统安全.

权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限,会话session是用户与激活的角色集合之间的映射.RBAC与传统访问控制的差别在于增加了一层间接性,从而带来了灵活性.中学教研管理系统涉及到的用户类别多,如在教育管理部门端,包括各个年级的主管及职员,在学校端,包括不同年级组的主任、普通教师等,而RBAC技术由于其对角色和层次化管理的引入,特别适用于用户数量庞大,系统功能不断扩展的大型系统.所以本系统选择了RBAC作为系统访问控制设计方案.

2 权限模块设计与实现

2.1 设计思想

中学教研管理系统一个连接中学教育管理部门和各所中学,实现统一教学管理和教学资源共享的综合性系统,该系统主要包括教研室和学校两大实体,采用客户端与Web服务相结合的工作模式.在整个系统设计过程中,每个实体下都有若干个子系统,各子系统下又有不同性质的工作人员,为了保障信息安全和系统运行速度,并使操作简单易行,在系统设计中采取基于工作人员的职务和工作性质来确定其在本系统中的操作权限的方式,RBAC理论提出角色的概念,将用户与操作分开,使得权限的分配变得简单而有效,研究表明,RBAC理论所包含的设计思想有以下优点:

(1)用户所具有的权限易发生改变,而某种角色所对应的权限相对稳定,这样,简化了权限管理,避免直接在用户和数据之间进行授权和取消.

(2)有利于合理划分职责,用户只有其所应具有的权限,这样可以避免越权行为.

(3)防止权力滥用,敏感的工作分配给若干个不同的用户完成,需要合作的操作序列不能由单个用户完成.

这些特点能够更好地解决中学教研管理系统中人员多、不易集中管理的问题,同时保证了系统信息的安全性.

2.2 设计与实现

整个系统设计采用java语言的SSH(Struts2+Spring+Hibernate)架构,这是J2EE轻量级架构开发的主流,有利于以后系统的升级和兼容.根据用户需求,该系统设计的基于RBAC权限管理模块主要包括:用户管理、角色管理、功能权限管理和信息管理,其下各个子模块如图1所示.

图1 权限模块功能划分图

(1)用户管理

用户是访问系统资源的主体,管理员通过此模块可以查询用户的角色权限信息,管理员选择一个用户,就可以获取与用户相关的身份信息及其具有的角色权限信息,同时,可以对角色授权进行修改.如图2所示.

(2)角色管理

角色是应用领域内一种权利和责任的语义综合体,在该系统中,将角色进一步划分为:超级管理员、管理员和普通角色.其中超级管理员负责定义角色,并维护整个系统的运转;各部门的管理员负责管理本部门的人员,并给人员分配角色;普通角色执行各自的职务.这里超级管理员为角色添加限制信息,各部门管理员只能操作他可分配的角色,具体的角色分配给哪个工作人员由各部门管理员决定,这样实现了整个系统的统一管理和灵活分配.

角色定义:各级管理员根据用户需要定义角色,管理员根据用户所属部门、科室或年级来定义角色.

角色用户关系映射:根据管理员定义的角色信息确定与之对应的用户,完成二者的映射关系.

角色增、删、改、查操作:管理员依据系统需要完成角色的相关维护操作,包括增加、删除、更名等.如图3所示.

图2 用户管理图

图3 角色管理图

(3)功能权限管理

此模块对用来确定各个角色所对应的功能权限,完成角色与功能权限的映射关系,它包括权限角色关系映射和权限角色关系的增加、删除和更改.

权限角色关系映射:系统管理员根据实际需要及已经定义好的角色访问范围,完成角色与功能权限的映射,并将此映射关系写入指定数据库表中.

权限角色关系的增、删、改:在实际应用中,可能有些角色所具有的权限被削减或增加,缩小或扩大其能访问或操作的权限范围,因此,在此模块中完成这项工作.

在用户登录时,系统会根据它所具有的角色信息,把相应的权限提取出来,当用户请求某个操作时,验证此用户信息,包括用户名、密码和验证码,从而确定其所具有的操作权限,这一过程是通过建立会话session,激活角色,得到相应的访问权限的.如图4所示.

图4 功能管理图

(4)信息管理

此模块可以通过选择指定的类别,对信息进行查询和添加操作.如图5所示.

图5 信息管理图

2.3 数据库设计

该系统的采用Microsoft SQL Server2000作为后台数据库,与前台Jquery和JSP技术相结合,可以很好地完成数据存取操作[6].各操作表存放系统中对应的每一个的程序模块,用户表存放包含了用户部分基本信息和对应的角色名称,完成用户的角色授权;角色表存放系统中所有的角色信息,包括各级管理员、各种用户类别;功能权限表存放存放每种角色所对应的若干权限.同时,为了保证数据库数据的同步,各表之间都设置了外键关联.具体的RBAC模式E-R关系如图6所示.

图6 RBAC模式E-R关系图

3 安全性分析

该系统的权限管理模块支持两个著名的安全原则:职责分离原则和最小特权原则.在RBAC策略中,用户通过指定用户名和密码登录后,系统将激活角色,同时把该角色对应的权限放到session里,若合法,则进行操作,否则返回登录界面,或者退出系统.对于重要的权限,将由不同的角色共同完成,以保证数据的安全性.

4 结 论

中学教研管理系统通过客户端与Web相结合的架构实现教育管理部门与各所中学的连接,由于涉及到的部门和各类人员较多,如果没有一个可靠的权限管理系统,那么数据安全就会受到威胁[7].本系统在java语言的SSH框架下采用基于角色的访问控制 (RBAC)策略,很好地达到了用户权限管理安全、便捷的目的,提高了系统应用效率.

[1] 袁晓东,冯颖.B1级数据库管理系统强制存取控制模型的研究 [J].计算机学报,2000,23(10):845-879

[2] 何斌,顾健.基于角色访问控制的权限管理系统[J].计算机工程,2004,12(30):326-328

[3] 夏榆滨.基于RBAC的统一权限管理系统研究[J].微计算机信息,2006,22(09):114-116

[4] 李立新,陈伟民,黄尚廉.强制访问控制在基于角色的安全系统中的实现 [J].软件学报,2000,(10):1320-1325

[5] Ferraiolo DF,Sanehu R.Proposed NIST standard:role-based access control[J].ACM T ransac Inform Syst Sec,2001,4(03):224-274

[6] 龚波.SQL Server2000教程 [M].北京:北京希望电子出版社,2002:20-42

[7] 刘伟,孙玉芳.基于角色访问控制模型及其在操作系统中的实现 [J].计算机科学,2003,(30):166-168

猜你喜欢
访问控制管理员管理系统
基于James的院内邮件管理系统的实现
我是小小午餐管理员
我是图书管理员
少先队活动(2020年8期)2020-12-18 02:32:07
我是图书管理员
少先队活动(2020年7期)2020-12-18 01:48:39
可疑的管理员
基于LED联动显示的违停管理系统
海盾压载水管理系统
中国船检(2017年3期)2017-05-18 11:33:08
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
通信学报(2016年11期)2016-08-16 03:20:32
浅析云计算环境下等级保护访问控制测评技术