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

.NET509 动态口令认证的网上选课系统ASP.NET

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


将计算机引入教学信息管理已经成为高校教学管理工作的重要内容之一,比如实行网上选课。与传统的选课方式相比,网上选课提高了学生选课效率,增加了学生选课自主权,使教学更加透明,同时大大提高了教务管理工作的效率。
本文设计实现的网上选课系统基于ASP.NET平台进行开发,后台由SQL Server 2000数据库支持,通过使用C#语言实现动态网页的效果,达到对数据库的操作以完成使用者的要求。本系统主要由以下几个模块组成:身份验证模块;选课模块;信息管理模块等。用户只需要通过浏览器访问就可以实现选课操作,操作简单灵活。并且本系统登录时使用动态口令进行身份认证,解决了静态口令所遇到的很多攻击性问题,如:网络数据流窃听、字典攻击、穷举攻击等,增加了系统安全性。
〖本文来自:计算机毕业网  〗
本系统是采用B/S(Browser/Server)结构进行设计,使用SQL Server 2000构建数据库,并在ASP.NET环境下使用C#语言开发的一个网上选课系统,其具有一定的实用性。管理员在网上公布将开设的所有课程信息,包括:课程名称,开课老师,学时,最大人数等信息。学生通过任何一台能进入选课系统的计算机,打开选课网站,输入学号和自己的密码,验证了身份便可轻松完成网上选课工作。学生通过上网了解课程的各项信息,确定自己所要选修的课程,并进行选择,还可以增加选课,退出已选的课程,查看个人选课等。在整个选课过程中,当一门课程的学生人数已满时,下一个学生选择该门课时,这门课便不能被选上。网上选课提高了学生选课效率,同时大大提高了教务管理工作的效率。

think58

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


为了增加系统的安全性,本系统在登录时使用动态口令进行身份认证,在密码中引入迭代值,每次登录时密码的加密次数都不一样,因此每次传输的密码都不一样,即使被窃听了,窃听者也无法用窃听到的口令来做下一次的登录。 copyright think58
[来源:http://think58.com]

一次性动态口令系统是关于网络安全的口令系统。它的特点是用户每次输入的口令一样,但传输到服务器的口令都不一样。每个登录服务器的口令只使用一次,窃听者无法用窃听到的口令来做下一次的登录,确保了口令的安全。
动态口令与传统的静态口令相比具有以下优势 :
(1)动态性: 用户的动态口令随设定的时间或事件等变量自动变化,无需人工干预,某一时刻的产生的动态口令不能在其他时刻使用。
(2)一次性:任一时刻产生的动态口令在其失效前只能被用户使用一次,否则,系统将视其为非法行为而报警。
(3)随机性:动态口令是随机生成、无规律的。即使本次口令被窃听成功,也难以由此猜出下次的口令。
(4)多重安全性:用户的动态口令令牌产生的动态口令与用户名、静态口令等多因素结合实现多重认证。即使电子令牌丢失,用户仍可在应急状态下利用用 think58.com [资料来源:http://THINK58.com]

课程管理模块:负责管理课程的基本信息。管理员可通过本模块实现课程的添加、删除、修改,可以选择按课程名或专业查询已经添加的课程。
系别管理模块:负责管理系别的基本信息。管理员可通过本模块实现系别的添加、删除、修改。
专业管理模块:负责管理专业的基本信息。管理员可通过本模块实现专业的添加、删除、修改,可以按系查询已经添加的专业。
学历管理模块:负责管理学历的基本信息。管理员可通过本模块实现学历的添加、删除、修改。
课程分配模块:负责给老师分配课程。根据老师姓名,课程所属系、专业,给老师分配课程。老师可以教不同系的课程。
密码修改模块:管理员、老师、学生登录成功后在各自的页面点击“修改密码”进行密码修改。
4.2.3选课模块
查看课程选课模块:学生登录后进入选课页面,在规定时间内可以进行选课、退选,选择人数已满的课程时,该课程不能被选上,学生可以查看自己已选课程。
查看选课名单模块:老师登录后可以根据自己所教课程查看选课名单,只有学生选择了的课程才会显示。 本文来自think58 [版权所有:http://think58.com]

出错及处理:在该模块中可能发生的错误有:
(1)、用户名或密码错误,系统提示“用户名或密码不正确!”。
(2)、捕捉到异常,系统提示“对不起,登录失败,请重新登陆!”。
学生登录身份验证是在switch (rbtnlLogType.SelectedValue)中加如下代码:
case "0":   //当身份为0,即学生时
{
      try
      {
       DsStudentTableAdapters.StudentsTableAdapter dsStudent = new DsStudentTableAdapters.StudentsTableAdapter();
       //实例化类
       DsPassWordTableAdapters.StudentPasswordTableAdapter dsStudentPassword = new DsPassWordTableAdapters.StudentPasswordTableAdapter();
       //实例化类
       DataTable dtStudentID = dsStudent.A_GetStudentByStudentNumber(txtNumber.Text);
       //通过类的实例dsStudent的方法A_GetStudentByStudentNumber得到学号为txtNumber.Text的学生的所有字段的值 本文来自think58

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


       string  StudentID = dtStudentID.Rows[0].ItemArray.GetValue(0).ToString();〖本文来自:计算机毕业网  〗
       //得到该学生的ID,并赋值给StudentID
       string StudentAddDate = dtStudentID.Rows[0].ItemArray.GetValue(5).ToString();
       string StudentEndDate = dtStudentID.Rows[0].ItemArray.GetValue(6).ToString();
       string StudyDepartmentID = dtStudentID.Rows[0].ItemArray.GetValue(7).ToString();
       string StudentState = dtStudentID.Rows[0].ItemArray.GetValue(8).ToString();
       string StudyTypeID = dtStudentID.Rows[0].ItemArray.GetValue(9).ToString();
       string StudentYearCount = dtStudentID.Rows[0].ItemArray.GetValue(10).ToString();
       string StudentExtendID = dtStudentID.Rows[0].ItemArray.GetValue(11).ToString();

think58好,好think58

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


       DataTable dtStudent = dsStudentPassword.C_GetStudentPasswordByID(int.Parse(StudentID));
       string StudentSeq = dtStudent.Rows[0].ItemArray.GetValue(1).ToString();
       string StudentSeed = dtStudent.Rows[0].ItemArray.GetValue(2).ToString();
       string StudentPassword = StudentSeed.ToString() + txtPassWord.Text;
[资料来源:http://think58.com]