当前位置:首页 > 免费毕业设计

asp.net动态口令认证的网上选课系统的设计与实现(源代码+论文)免费下载

asp.net动态口令认证的网上选课系统的设计与实现(源代码+论文)免费下载

  • 网站价格: 1 元
  • 特殊技术: ASP.NET
  • 作品类型: 免费毕业设计
  • 售后服务: 无

联系方式: 微信:biyebang QQ: 629001810

作品详情

 摘要:

将计算机引入教学信息管理已经成为高校教学管理工作的重要内容之一,比如实行网上选课。与传统的选课方式相比,网上选课提高了学生选课效率,增加了学生选课自主权,使教学更加透明,同时大大提高了教务管理工作的效率。
本文设计实现的网上选课系统基于ASP.NET平台进行开发,后台由SQL Server 2000数据库支持,通过使用C#语言实现动态网页的效果,达到对数据库的操作以完成使用者的要求。本系统主要由以下几个模块组成:身份验证模块;选课模块;信息管理模块等。用户只需要通过浏览器访问就可以实现选课操作,操作简单灵活。并且本系统登录时使用动态口令进行身份认证,解决了静态口令所遇到的很多攻击性问题,如:网络数据流窃听、字典攻击、穷举攻击等,增加了系统安全性。


关键词: 

   网上选课系统; 动态口令;C#;ASP.NET


目录:



需求分析:

3.1该设计要完成的功能

本次设计所要实现的功能主要有以下几点:
(一):学生操作
1.身份验证:输入学生学号及密码,然后点击“登录”进入“选课系统的菜单页,开始选课。
2.选课操作以及选课结果查询操作:学生可以选课,修改已选的课程,并且查看自己选课结果。在整个选课过程中,当一门课程的学生人数已满时,下一个学生选择该门课时,这门课将不被选中。
(二):管理员操作
1.身份验证:输入用户名和密码,然后点击“登录”,进入选课系统后台的管理信息系统。
2.基本信息录入及修改。包括课程信息,老师信息以及学生信息等。
(三):老师操作
1.身份验证:输入用户名和密码,然后点击“登录”,进入自己任课菜单页,老师可以查看自己所教课程、每门课的选课学生名单。

3.2设计思路

本系统从学生网上自主选课以及管理员管理信息两个大方面进行设计,要基本实现学生的在线选课功能以及管理员对老师、学生、课程信息的管理等功能,并且登录时在口令中引入不确定因数,使每次登录传送的口令信息不同,增加系统安全性。
登录分三个身份:学生、老师、管理员,登录成功后分别进入不同页面,学生进入“Choose.aspx”页面,老师进入“tlview.aspx”页面,管理员进入“Lession.aspx”页面。学生进入页面后可以选课、查看自己选课、修改密码;老师进入页面后可以查看自己所任课程、选课名单、修改密码;管理员进入页面后可以管理各种信息,如:管理员、老师、学生等,可以修改自己的密码。
动态口令的主要思路是:在登录过程中加入不确定因素,使每次登录过程中传送的信息都不相同,以提高登录过程安全性。例如:登录密码=MD5(随机数+密码),系统接收到登录口令后做一个验算即可验证用户的合法性。
当用户向服务器发出连接请求时,服务器发给用户一个challenge。challenge通常是由两部分组成的:种子值(seed)和迭代值(iteration),它们是在添加用户时产生的,用户收到challenge后进行加密计算:MD5iteration(seed+password),并把结果作为回答返回服务器。服务器收到回答,将它再次加密后与所存密码比较,如果相同就成功登录,并更新密码为MD5iteration(seed+password),迭代值为(iteration-1)。
  我们可以看出,用户通过网络传给服务器的口令是种子值和密码的加密结果,用户本身的密码并没有在网上传播。攻击者很难从中提取出原始的密码,又因为迭代值总是不断变化的,这使得下一次用户登录时使用的鉴别信息与上次不同,从而有效地阻止了重放攻击。总之,与静态口令技术的单因子(口令)鉴别不同,一次性动态口令技术是一种多因子(种子值,迭代值和密码)鉴别技术,其中引入的不确定因子使得它更为安全。
管理员添加各类用户时初始化口令流程:

图1 初始化口令流程图
 
用户登录时验证口令流程: 

图2  登录时验证口令流程


总体设计:

4.1功能模块构造

图3  系统功能模块图

4.2功能模块具体介绍

4.2.1身份验证模块

通过登录才可进入选课系统,登录信息提交后检验登录者的身份是否合法,如果合法则转入对应的操作界面。在本系统中,只有三种身份:学生、老师、管理员。登录时在口令中引入不确定因数,使每次登录传送的口令信息不同。

4.2.2信息管理模块

管理员管理模块:负责管理管理员的基本信息。管理员可通过本模块实现添加、删除、修改管理员的基本信息。
老师管理模块:负责管理老师的基本信息。管理员可通过本模块实现添加、删除、修改老师的基本信息,可以选择根据老师工作证号或姓名查找老师。在该模块中可以实现对老师的管理,为排课提供老师的基本信息。
学生管理模块:负责管理学生的基本信息。管理员可通过本模块实现添加、删除、修改学生的基本信息,可以选择根据学生学号或姓名查找学生。在该模块中可以实现对学生的管理。
课程管理模块:负责管理课程的基本信息。管理员可通过本模块实现课程的添加、删除、修改,可以选择按课程名或专业查询已经添加的课程。
系别管理模块:负责管理系别的基本信息。管理员可通过本模块实现系别的添加、删除、修改。
专业管理模块:负责管理专业的基本信息。管理员可通过本模块实现专业的添加、删除、修改,可以按系查询已经添加的专业。
学历管理模块:负责管理学历的基本信息。管理员可通过本模块实现学历的添加、删除、修改。
课程分配模块:负责给老师分配课程。根据老师姓名,课程所属系、专业,给老师分配课程。老师可以教不同系的课程。
密码修改模块:管理员、老师、学生登录成功后在各自的页面点击“修改密码”进行密码修改。

4.2.3选课模块

查看课程选课模块:学生登录后进入选课页面,在规定时间内可以进行选课、退选,选择人数已满的课程时,该课程不能被选上,学生可以查看自己已选课程。
查看选课名单模块:老师登录后可以根据自己所教课程查看选课名单,只有学生选择了的课程才会显示。

4.3 E-R图

图4  E-R图

4.4数据库设计(部分)

根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据表:
 
表1  课程表
Lessions(课程)
数据库字段名
中文名
字段类型
是否为空
备注
LessionID(主键)
课程ID
Int
否
从1开始自动增长,以后有“Auto”表示
GradeMark
年级
Varchar(10)
否

LessionName
课程名
Varchar(200)
否

LessionIsChoose
是否可选
Bit
否
1表示是
0表示否
(默认为0)
LessionChooseStartDate
选课开始时间
Dataetime
否

LessionChooseEndDate
选课结束时间
Dataetime
否

LessionMaxPerson
选课最多人数
Int
否

LessionAddDate
课程添加时间
Datetime
否

LessionTimeLength
课时
Int
否

LessionDescription
课程备注
Text
是

StudyDepartmentID
专业ID
Int
否
关系表(StudyDepartments)
LessionIsMain
是否为必修
bit
否

 
表2   老师表
Teachers(老师)
数据库字段名
中文名
字段类型
是否为空
备注
TeacherID(主键)
老师ID
Int
否
Auto
TeacherNumber
老师的工作证号
Varchar(20)
否

TeacherName
老师名称
Varchar(50)
否

TeacherUerName
老师昵称
Varchar(50)
否

TeacherPassword
登陆密码
Varchar(100)
否

TeacherAddDate
老师添加时间
Datetime
否

DepartmenID
系ID
Int
否
关系表(Departmens)
TeacherState
老师状态
Int
否
0(在职)
2(离职)
TeacherMvaxLessionCount
老师在一学期内最多可授课门数
Int
否
默认为5门
 


系统部分页面展示:

 


 

 

帮我毕业网微信

版权所有© 帮我毕业网 并保留所有权利

QQ 1370405256 微信 biyebang

QQ:629001810微信:biyebang

收缩