APP下载

基于角色访问控制的Web考试系统的设计

2009-02-01

数字技术与应用 2009年12期
关键词:身份验证

艾 地

[摘 要]本文对Web考试系统开发的相关的技术背景进行了介绍,并在此基础上,引入基于角色的访问控制机制,设计并实现了一个具有良好通用性的Web考试系统。结合本系统的设计提出了几点自己有关在线考试系统研究的思考。

[关键词]考试系统 基于角色的访问控制 身份验证

[中图分类号]TP311[文献标识码]A[文章编号]1007-9416(2009)12-0019-04

1 目前国内外在线考试系统的主要运行模式

目前国内外运用的在线考试系统主要基于两种运行模式:C/S(client/Server)模式和B/S(Browser/Server)模式。

基于C/S(client/Server)模式的在线考试系统,利用计算机局域网络,每台计算机(客户端)通过安装必要的软件才能与服务器端相互通信。因此在每次进行不同的考试之前都必须将相关的应用程序安装在考试客户端上,这样不仅造成了考务工作的繁琐,而且系统的性能也会受到一定影响。相比而言,基于B/S(Browser/Server)模式的在线考试系统,应用程序和考试信息都存储在服务器端,客户端只需要能联网,并且安装有标准的Web浏览器即可。通常在线考试系统建成后,随着其应用,其数据库中的数据会不断变化,而且系统本身也需要不断地更新、升级以适应新的用户需求。为了达到这种目的,本系统使用的是基于B/S(Browser/Server)模式的设计。工作原理如下图1。

2 在线考试系统的总体设计

2.1 系统的总体结构

在线考试系统最终实现的功能结构如图2。

其中,各部分具体功能介绍如图3。

身份验证模块:身份验证模块分为两个子模块,分别用于考生登录和高级用户(教师和管理员)登录,系统不允许匿名登录,只有已分配相应权限的用户才能登录以享受相应的服务。

用户信息管理模块:此模块为最高权限用户的功能,可以对系统中的其他两类用户的信息进行管理与维护。

试题信息管理模块:对于高级用户中的两种角色,都可以使用此功能,但教师的权限是受限的,只能管理自己所负责科目的相关试题信息。

考试科目信息管理模块:最高权限用户的功能,可以对考试科目进行管理与维护。

考试结果管理模块:对于高级用户中的两种角色,都可以使用此功能,但教师的权限是受限的,只能管理自己所负责科目的考试结果信息。

在线考试系统模块:这是系统的最核心功能,主要向考生提供自动随机组卷、在线考试和自动评分的功能。

2.2 系统数据库设计

SQL Server 2005 有两种身份验证模式:Windows 身份验证模式、混合身份验证模式。默认情况下,SQL Server 2005在安装过程中使用的是Windows 身份验证模式。这种认证模式使用的是Windows 认证机制,用户不需提供SQL Server 登录帐号就可以直接与SQL Server 相连,同时Windows Server的组策略也能对SQL Server的访问提供全面的支持。但是在线考试系统一般需要远程连接来管理服务器资源。所以本系统采用的是后一种身份验证模式,即允许SQL Server和Windows 身份验证对登录帐号进行验证。其工作模式:客户端提供的用户帐户和密码首先进行SQL Server身份验证,若通过,则登录成功;否则,再进行Windows 身份验证,若通过,则登录成功。如果两种验证都不成功,则无法使用SQL Serve。这可以创建Windows Server之外的一个安全层次,使在线考试系统远程连接过程中的数据的安全性得到了保证。

接下来,我们使用混合身份验证模式登录到SQL Server 2005,然后在SQL Server 2005中创建一个名为“OnlineExam”的数据库。根据前面有关系统功能需求的分析,考虑到系统实现的需要,这里对“OnlineExam”数据库进行了设计,该数据库共包括以下数据表:高级用户信息表、考生信息表、考试科目信息表、考试记录信息表、试题信息表。

3 在线考试系统的实现

3.1 实现在线考试系统的关键技术——基于角色访问控制的身份验证技术

考试在任何国家都属于机密,而在线考试系统不仅涉及到考试有关信息,更涉及到有关用户的信息,因此,一个完善的在线考试系统应能提供强大的信息安全解决方案。要实现这一解决方案,在控制系统访问上把好关,尤为重要。

为了解决这一问题,本系统采用的验证策略。把系统服务对象分为三类角色:教师、学生和管理员。其中又把教师和管理员作为高级用户,对三种角色使用了不同的身份验证技术,同时对每种角色的身份验证采用验证码技术,能有效的防止利用机器人软件反复登录,使系统的安全性得到多重保障。

3.2 在线考试系统的实现

了解了实现在线考试系统的关键技术之后,接下来要做的工作便是按照系统流程图中的描述逐一实现在线考试系统。

系统登录是系统的第一个流程,由于系统用户需求的原因,本系统了提供了两个登录界面:系统默认的首页是考生登录界面,此界面上也提供了到高级用户登录的界面链接。

3.2.1考生登录界面的实现如图3。

3.2.2 信息管理页面的实现:

(1)学生信息管理界面的实现,如图4。

(2)教师信息管理页面的实现,如图5。

(3)试题基本信息的管理界面,如图6。

3.3 系统运行测试及完善

基本功能实现之后,在线考试系统并未真正实现,我们还要对其进行详细的测试,以确定其是否存在设计过程中未考虑到的错误,以及系统开发导致的bug,这样我们才能更好地完善在线考试系统。

测试过程的主要任务:

(1)检查系统是否可以对用户的各种输入,做出正确的响应。

(2)检查系统中的各种页面显示是否正常。

(3)检查系统预期的各种功能是否实现。

(4)检查系统运行是否稳定。

测试结果:

系统基本实现了预期的功能,但仍然存在诸多设计上的不足,将在今后的实践当中对其完善。

至此,一个完整的在线考试系统算是从功能上实现了。

4 关于在线考试系统的几点思考

本系统采用ASP.NET2.0+SQL Server2005技术开发,成功融合了时下流行的基于角色访问控制的Web安全机制,采用了简单友好的人机交互界面,可以实现在线随机组卷、在线考试、在线自动评分、成绩查询以及基于角色访问控制策略的强大的后台管理等功能,能在很大程度上克服传统考试的诸多不足,极大地提高整个考试工作的效率。在试题库设计上,采用以学科为单位的试题类型发布机制,使得本系统通用性极强,能够适应多种学科考试。

[参考文献]

[1] 陆峰、杨宗凯、刘清堂.基于角色访问控制技术的网络考试系统研究.中国教育信息化.

[2] 杨冬.通用网络考试系统的设计与实现.2006年4月.

[3] 周雪燕.在线考试系统的开发及应用研究.2006年4月.

[4] 董纳.网络教育平台暨在线考试系统的设计开发.2006年4.

[5] 赵玉.基于ASP_NET的在线考试系统的设计与实现.2007年5月.

[6] 徐鲁雄、黄维通.网络考试系统的设计与实现.计算机教育.2006年9月.

猜你喜欢

身份验证
声纹识别认证云落户贵州
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
HID Global推动多层身份验证解决方案
身份验证中基于主动外观模型的手形匹配
ASP.NET中的Forms身份验证的研究