优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

261_动态口令认证的网上选课系统

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

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

think58.com [资料来源:http://THINK58.com]

[资料来源:http://think58.com]

[版权所有:http://think58.com]

[来源:http://www.think58.com]


[资料来源:www.THINK58.com]

图1 初始化口令流程图 think58.com

[来源:http://www.think58.com]


用户登录时验证口令流程:

图2 登录时验证口令流程
4总体设计
4.1功能模块构造
内容来自think58

[资料来源:http://www.THINK58.com]

图3 系统功能模块图
4.2功能模块具体介绍
4.2.1身份验证模块
通过登录才可进入选课系统,登录信息提交后检验登录者的身份是否合法,如果合法则转入对应的操作界面。在本系统中,只有三种身份:学生、老师、管理员。登录时在口令中引入不确定因数,使每次登录传送的口令信息不同。
4.2.2信息管理模块
管理员管理模块:负责管理管理员的基本信息。管理员可通过本模块实现添加、删除、修改管理员的基本信息。
老师管理模块:负责管理老师的基本信息。管理员可通过本模块实现添加、删除、修改老师的基本信息,可以选择根据老师工作证号或姓名查找老师。在该模块中可以实现对老师的管理,为排课提供老师的基本信息。
学生管理模块:负责管理学生的基本信息。管理员可通过本模块实现添加、删除、修改学生的基本信息,可以选择根据学生学号或姓名查找学生。在该模块中可以实现对学生的管理。
课程管理模块:负责管理课程的基本信息。管理员可通过本模块实现课程的添加、删除、修改,可以选择按课程名或专业查询已经添加的课程。
系别管理模块:负责管理系别的基本信息。管理员可通过本模块实现系别的添加、删除、修改。
专业管理模块:负责管理专业的基本信息。管理员可通过本模块实现专业的添加、删除、修改,可以按系查询已经添加的专业。 本文来自think58 [来源:http://think58.com]
学历管理模块:负责管理学历的基本信息。管理员可通过本模块实现学历的添加、删除、修改。
课程分配模块:负责给老师分配课程。根据老师姓名,课程所属系、专业,给老师分配课程。老师可以教不同系的课程。
密码修改模块:管理员、老师、学生登录成功后在各自的页面点击“修改密码”进行密码修改。
4.2.3选课模块
查看课程选课模块:学生登录后进入选课页面,在规定时间内可以进行选课、退选,选择人数已满的课程时,该课程不能被选上,学生可以查看自己已选课程。
查看选课名单模块:老师登录后可以根据自己所教课程查看选课名单,只有学生选择了的课程才会显示。
4.3 E-R图

图4 E-R图
4.4数据库设计
根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据表:

本文来自think58

[来源:http://think58.com]

[资料来源:http://THINK58.com]

表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 否 [资料来源:http://www.THINK58.com]

表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门 本文来自think58

[资料来源:THINK58.com]


表3 学生表
Students(学生)
数据库字段名 中文名 字段类型 是否为空 备注
StudentID(主键) 学生ID Int 否 Auto
StudentNumber 学号 Varchar(20) 否
StudentName 学生名称 Varchar(50) 否
StudentUerName 学生昵称 Varchar(50) 否
StudentPassword 登陆密码 Varchar(100) 否
StudentAddDate 学生入学时间 Datetime 否
StudentEndDate 学生毕业时间 Datetime 否
StudyDepartmentID 专业ID Int 否 关系表(StudyDepartments)
StudentState 学生状态 Int 否 1(休学1年)
2(休学2年)
3(休学3年)
4(在校)
5(毕业)
6(开除学籍)
StudyTypeID 系ID Int 否
StudentYearCount 学年数 Int 否
StudentExtendID 学生扩展信息ID Int 否 默认为0,表示没有扩展信息,大于0就关系到表(StudentExtends) [来源:http://think58.com]

表4老师 课程 联系表
LessionTeachers (老师 课程 联系表)
数据库字段名 中文名 字段类型 是否为空 备注
LessionTeacherID(主键) 联系编号 Int 否 Auto
TeacherID 老师ID Int 否 关系表(Teachers)
LessionID 课程ID Int 否 关系表(Lessions)

think58好,好think58 [资料来源:http://think58.com]

[资料来源:http://THINK58.com]

表5学生 课程 联系表
LessionStudents(学生 课程 联系表)
数据库字段名 中文名 字段类型 是否为空 备注
LessionStudentID(主键) 联系编号 Int 否 Auto
StudentID 学生ID Int 否 关系表(Students)
LessionID 课程ID Int 否 关系表(Lessions)
[资料来源:http://THINK58.com]