计算机毕业设计108动态口令认证的网上选课系统的设计与实现.doc
计算机毕业设计108动态口令认证的网上选课系统的设计与实现
收藏
资源目录
压缩包内文档预览:(预览前20页/共28页)
编号:539927
类型:共享资源
大小:262.29KB
格式:ZIP
上传时间:2015-11-29
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
4.8
积分
- 关 键 词:
-
计算机毕业设计论文
- 资源描述:
-
计算机毕业设计108动态口令认证的网上选课系统的设计与实现,计算机毕业设计论文
- 内容简介:
-
分类号: TP311.1 U D C: D10621-408-(2007)6006-0 密 级: 公开 编 号: 2003031261 成 都 信 息 工 程 学 院 学 位 论 文 动态口令认证的网上选课系统的设计与实现 论 文 作 者 姓 名 : 唐 丹 申 请 学 位 专 业 : 计算机科学与技术 申 请 学 位 类 别 : 工 学 学 士 指导老师姓名(职称): 索 望 论 文 提 交 日 期 : 2007年 6月 10日 nts动 态口令认证的网上选课系统的设计与实现 摘 要 将计算机引入教学信息管理已经成为高校教学管理工作的重要内容之一,比如实行网上选课。与传统的选课方式相比,网上选课 提高了学生选课效率 ,增加了学生选课自主权,使教学更加透明 ,同时大大提高了教务管理工作的效率。 本文设计实现的网上选课系统基于 ASP.NET 平台进行开发 ,后台由 SQL Server 2000 数据库支持,通过使用 C#语言实现动态网页的效果,达到对数据库的操作以完成使用者的要求。本系统 主要 由以下几个模块组成:身份验证模块;选课模块;信息管理模块 等 。 用户 只需要通过浏览器访问就可以实现 选课 操作,操作简单灵活。并且本系统登录时使用动态口令进行身份认证,解决了 静态口令所遇到的很多攻击性问题,如:网络数据流窃听、字典攻击、穷举攻击等,增加了系统安全性。 关键词: 网上选课 系统 ; 动态口令; C#; ASP.NET ntsDesign and Implementation of Web-based Course Selecting System with Dynamic Password Authentication Abstract Applying computer to manage the teaching information is one of the important parts of the university management, such as course selecting on internet. Comparing to the traditional course selecting method, course selecting on internet saves more resources, at the same time, it enhances the students independence when choosing courses, which makes the teaching more transparent, also greatly increases the efficiency of teaching management. This paper designs a Web-based Elective System, which bases on the platform of ASP.NET; the database is SQL Server 2000. We use C# language to achieve the front page movement effect. This system mainly is composed of following several modules: ID authenticating module; course selecting module; information management module. The user just through IE explore to realize the course selecting operation, the operation is simple and flexible. This system adopts Dynamic Password to authenticate ID when login in, it prevents many problems of the static password, for example Sniffer, Dictionary attack, Brute Force and so on. The Dynamic Password improves the safety of the system. Key words: Online Course Selecting System; Dynamic Password; C#; ASP.NET nts目 录 论文总页数: 24 页 1 引言 1 2 理论基础 1 2.1 C# 1 2.2 ASP.NET 1 2.3 动态口令 2 3 需求分析 3 3.1 该设计要完成的功能 3 3.2 设计思路 4 4 总体 设计 7 4.1 功能模块构造 7 4.2 功能模块具体介绍 8 4.2.1 身份验证模块 8 4.2.2 信息管理模块 8 4.2.3 选课模块 8 4.3 E-R 图 9 4.4 数据库设计 9 5 详细设计和实现 12 5.1 连接数据库 12 5.2 初始化动态口令 12 5.3 管理员 /老师 /学生登录功能 13 5.4 管理员 /学生 /老师密码管理功能 17 5.5 老师信息的添加、删除、修改 17 5.6 管理员为老师分配课程 18 5.7 学生选课 19 5.8 老师查看选课名单 21 5.9 退出系统 22 结论 22 参考文献 22 致 谢 23 声 明 24 nts第 1 页 共 24 页 1 引言 随着学校的办学规模越来越大,在校学生人数也日益增多,随之而来的是教务管理工作日趋复杂繁重,已愈来愈成为学校日常管理工作的一个瓶颈。网上选课系统可以提高教 务管理工作的效率,减轻教务管理人员的手工劳动,使教务管理工作更加规范化、信息化、制度化和科学化。本系统力求以更加安全便捷的办公效率,成为学校教务管理的好帮手。 本系统是采用 B/S( Browser/Server)结构进行设计 ,使用 SQL Server 2000 构建数据库,并在 ASP.NET 环境下使用 C#语言开发的一个 网上选课系统 , 其具有一定的实用性 。 管理员在 网上公布将开设的所有课程信息,包括:课程名称,开课老师,学时,最大人数等信息。学生通过任何一台能进入选课系统的计算机,打开选课网站,输入学号和自己的密码, 验证了身份便可轻松完成网上选课工作。学生通过上网了解课程的各项信息,确定自己所要选修的课程,并进行选择,还可以增加选课,退出已选的课程,查看个人选课等。在 整个选课过程 中 ,当一门课程的学生 人 数已满 时,下一个学生选择该门课时,这 门课便不能 被 选 上。 网上选课提高了学生选课效率,同时大大提高了教务管理工作的效率。 为了增加系统的安全性,本 系统 在登录时使用 动态口令进行身份认证, 在密码中引入迭代值 , 每次登录时密码的加密次数都不一样,因此 每次传输的密码都不一样,即使被 窃听了,窃听者也无法用窃听到的口令来做下一次的登录 。 2 理论基础 2.1 C# C#是一种简单的、现代的、面向对象的、类型安全的、版本控制的、兼容的、灵活的、基于组件开发的编程语言,它是作为 Visual Studio 中的一部分推出。C#既保持了 C+中熟悉的语法,还包含了大量的高效代码和面向对象特性,它简化和革新了 C+中的类、名字空间、方法重载和异常处理等领域,摒弃了 C+的复杂性,更易用,更少出错。它不仅能应用于 WEB 服务程序的开发,并且还能开发强大的系统级程序。 C#提供了方便的功能,如垃圾收集、类型安全、版本控制等等。仅有的 代价 就是,代码操作默认是类 型安全,不允许指针。光是类型安全就可以搞定了。但是,如果 我们 需要指针,仍可以通过非安全码使用它们,而且当调用非安全码时,不能含有列集。 2.2 ASP.NET ASP.NET 不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的nts第 2 页 共 24 页 各种服务。 ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。 ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、 C# 和 JScript .NET)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其 他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 当 创建 ASP.NET 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义 。 ASP.NET 包括:页面和控件框架、 ASP.NET 编译器、安全基础结构、状态管理功能、应用程序配置、监视运行状况和性能功能、调试支持、 XML Web services 框架、可扩展的宿主环境和应用程序生命周期管理、可扩展的设计器环境。 2.3 动态口令 一次性动态口令系统是关于网络安全的口令系统。它的特点是用户每次输入的口令一样,但传输到服务器的口令都不一样。每个登录服务器的口令只使用一次,窃听者无法用窃听到的口令来做下一次的登录,确保了口令的安全。 动态口令与传统的静态口令相比具有以下优势 : (1)动态性: 用户的动态口 令随设定的时间或事件等变量自动变化,无需人工干预,某一时刻的产生的动态口令不能在其他时刻使用。 (2)一次性: 任一时刻产生的动态口令在其失效前只能被用户使用一次,否则,系统将视其为非法行为而报警。 (3)随机性: 动态口令是随机生成、无规律的。即使本次口令被窃听成功,也难以由此猜出下次的口令。 (4)多重安全性: 用户的动态口令令牌产生的动态口令与用户名、静态口令等多因素结合实现多重认证。即使电子令牌丢失,用户仍可在应急状态下利用用nts第 3 页 共 24 页 户名和静态口令进行用户身份认证。而其他非法持有者,单靠令牌无法实现登录及认证。 (5)可管理性: 统一的身份认证方式和动态口令生成方式,能大大减小在分发密码、支持服务、密码丢失、密码更改及身份管理等各个方面的开销和成本。 S/KEY 口令序列认证方案介绍: 贝尔通信研究中心于 1991 年开发的 S/KEY 是 OPT(one-time password)的首次实现。 认证步骤: (1) 用户向服务器发送登录请求,并将用户 ID 发送给服务器; (2) 服务器收到登录请求和用户 ID 后,在认证数据库中查询该 ID 是否存在。若 ID 为非法 ID,则拒绝此次请求;若 ID 为合法 ID,则从数据库中取出相对应的种子 Seed 和迭代次数 (Seq-i),并将这两个数据传送给客户端; (3) 客户端收到种子数 Seed 和迭代次数 (Seq-i)后,利用客户端的计算程序计算 Hn(Seed/PW), (其中 n Seq-i),并将计算结果作为认证数据发送给服务器; (4) 服务器收到认证数据后,用服务器端的计算程序 (与客户端计算程序使用同样的 Hash 算法 )计算 H(HSeq-i(Seed/PW),然后将此计算结果与数据库中存储的认证数据 HSeq-i+1(Seed/PW)相比较。若两者相同,则认证通过,用户成功登录;否则,认证失败 ,服务器拒绝用户的登录请求。 (5) 若服务器通过了对用户的身份认证,将用收到的 HSeq-i(Seed/PW)替换数据库中保存的 HSeq-i+1(Seed/PW),以便下一次认证使用。 3 需求分析 3.1 该设计要完成的功能 本次设计所要实现的功能主要有以下几点: (一):学生操作 1.身份验证:输入学生学号及密码, 然后点击 “ 登录 ” 进入 “ 选课系统的菜单页,开始选课。 2.选课操作以及选课结果查询操作:学生可以选课,修改已选的课程,并且查看自己选课结果。在整个选课过程中,当一门课程的学生人数已满时,下一个学 生选择该门课时,这门课将不被选中。 (二):管理员操作 1.身份验证:输入用户名和密码,然后点击“登录”,进入选课系统后台的管理信息系统。 2.基本信息录入及修改。包括课程信息,老师信息以及学生信息等。 (三):老师操作 nts第 4 页 共 24 页 1.身份验证:输入用户名和密码,然后点击“登录”,进入自己任课菜单页,老师可以查看自己所教课程、每门课的选课学生名单。 3.2 设计思路 本系统从学生网上自主选课以及管理员管理信息两个大方面进行设计,要基本实现学生的在线选课功能以及管理员对老师、学生、课程信息的管理等功能,并且登录时在口令中 引入不确定因数,使每次登录传送的口令信息不同,增加系统安全性。 登录分三个身份:学生、老师、管理员,登录成功后分别进入不同页面,学生进入“ Choose.aspx”页面,老师进入“ tlview.aspx”页面,管理员进入“ Lession.aspx”页面。学生进入页面后可以选课、查看自己选课、修改密码;老师进入页面后可以查看自己所任课程、选课名单、修改密码;管理员进入页面后可以管理各种信息,如:管理员、老师、学生等,可以修改自己的密码。 动态口令 的主要思路是:在登录过程中加入不确定因素,使每次登录过程中传送的信 息都不相同,以提高登录过程安全性。例如:登录密码 =MD5(随机数 +密码 ),系统接收到登录口令后做一个验算即可验证用户的合法性。 当用户向服务器发出连接请求时,服务器发给用户一个 challenge。 challenge通常是由两部分组成的:种子值 (seed)和迭代值 (iteration),它们是在添加用户时产生的,用户收到 challenge 后进行加密计算: MD5iteration(seed+password),并把结果作为回答返回服务器。服务器收到回答,将它再次加密后与所存密码比较,如果相同就成功登录,并更新密 码为 MD5iteration(seed+password),迭代值为(iteration-1)。 我们可以看出,用户通过网络传给服务器的口令是种子值和密码的加密结果,用户本身的密码并没有在网上传播。攻击者很难从中提取出原始的密码,又因为迭代值总是不断变化的,这使得下一次用户登录时使用的鉴别信息与上次不同,从而有效地阻止了重放攻击。总之,与静态口令技术的单因子(口令)鉴别不同,一次性动态口令技术是一种多因子(种子值,迭代值和密码)鉴别技术,其中引入的不确定因子使得它更为安全。 管理员添加各类用户时初始化口 令流程: nts第 5 页 共 24 页 图 1 初始化口令流程图 nts第 6 页 共 24 页 用户登录时验证口令流程: 图 2 登录时验证口令流程 nts第 7 页 共 24 页 4 总体设计 4.1 功能模块构造 图 3 系统功能模块图 动态口令认证的网上选课系统 信息管理 身份验证 选课 教师信息的添加、修改、删除 学生信息的添加、修改、删除 课程信息的添加、修改、删除 系的添加、修改、删除 专业的添加、修改、删除 学历的添加、修改、删除 查看课程选课 查看选课名单 密码修改 课程分配 管理员信息的添加、修改、删除 nts第 8 页 共 24 页 4.2 功能模块具体介绍 4.2.1 身份验证模块 通过登录才可进入选课系统,登录信息提交后检验登录者的身份是否合法,如果合法则转入对应的操作界面。在本系统中,只有三种身份:学生、老师、管理员。 登录时在口令中引入不确定因数,使每次登录传送的口令信息不同。 4.2.2 信息管理模块 管理员 管理模块: 负责管理管理员的基本信息。管理员可通过本模块实现添加、删除、修改管理员的基本信息。 老师管理模块:负责管理老师的基本信息。管理员可通过本模块实现添加、删除、修改老师的基本信息,可以选择根据老师工作证号或姓名查找老师。在该模块中可以实现对老师的管理,为排课提供老师的基本信息。 学生管理模块:负责管理学生的基本信息。管理员可通过本模块实现添加、删除、修改学生的基本信息,可以选择根据学生学号或姓名查找学生。在该模块中可以实现对学生的管理。 课程管理模块:负责管理课程的基本信息。管理员可通过本模块实现课 程的添加、删除、修改,可以选择按课程名或专业查询已经添加的课程。 系别管理模块:负责管理系别的基本信息。管理员可通过本模块实现系别的添加、删除、修改。 专业管理模块:负责管理专业的基本信息。管理员可通过本模块实现专业的添加、删除、修改,可以按系查询已经添加的专业。 学历管理模块:负责管理学历的基本信息。管理员可通过本模块实现学历的添加、删除、修改。 课程分配模块:负责给老师分配课程。根据老师姓名,课程所属系、专业,给老师分配课程。老师可以教不同系的课程。 密码修改模块:管理员、老师、学生登录成功后在各自的 页面点击“修改密码”进行密码修改。 4.2.3 选课模块 查看课程选课模块:学生登录后进入选课页面,在规定时间内可以进行选课、退选,选择人数已满的课程时,该课程不能被选上,学生可以查看自己已选课程。 查看选课名单模块:老师登录后可以根据自己所教课程查看选课名单 ,只有学生选择了的课程才会显示。 nts第 9 页 共 24 页 4.3 E-R 图 图 4 E-R 图 4.4 数据库设计 根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据表: 表 1 课程表 Lessions(课程 ) 数据库字段名 中文名 字段类型 是否为空 备注 LessionID(主键 ) 课程 ID Int 否 从 1 开始自动增长,以后有“ Auto”表示 GradeMark 年级 Varchar( 10) 否 LessionName 课程名 Varchar(200) 否 nts第 10 页 共 24 页 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 门 nts第 11 页 共 24 页 表 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) 表 4 老师 课程 联系表 LessionTeachers (老师 课程 联系表 ) 数据库字段名 中文名 字段类型 是否为空 备注 LessionTeacherID(主键 ) 联系编号 Int 否 Auto TeacherID 老师 ID Int 否 关系表(Teachers) LessionID 课程 ID Int 否 关系表(Lessions) nts第 12 页 共 24 页 表 5 学生 课程 联系表 LessionStudents(学生 课程 联系表 ) 数据库字段名 中文名 字段类型 是否为空 备注 LessionStudentID(主键 ) 联系编号 Int 否 Auto StudentID 学生 ID Int 否 关系表(Students) LessionID 课程 ID Int 否 关系表(Lessions) 管理员表 ( Managers) :存放 管理员 ID、姓名、编号、密码、添加时间、 昵称 。 学生扩展信息表 ( StudentExtends) :存放扩展 ID、民族 ID、性别、生日、照片 ID、身份证号、备注。 系别表 (Departments):存放系 ID、系名、备注。 专业表 (StudyDepartment):存放专业 ID、系 ID、专业名、备注。 年级表 (Grades):存放年级 ID、年级名、年级 标识 。 民族表 (Races):存放民族 ID、民族名。 学历表 (StudyTypes): 存放 学历 ID、学历名、学历 标识 。 学生密码表 (StudentPassword):存放学生 ID、迭代值、 随机值 。 老师 密码表 (StudentPassword): 存放老师 ID、迭代值、 随机值 。 管理员密码表 (TeacherPassword):存放管理员 ID、迭代值、 随机值 。 5 详细设计和实现 5.1 连接数据库 所有页面都要连接数据库,代码为: 在 Web.Config 里添加: 5.2 初始化动态口令 在管理员添加用户时初始化动态口令。老师的口令初始化代码如 下: DsTeacherTableAdapters.TeachersTableAdapter dsTeacher = new nts第 13 页 共 24 页 DsTeacherTableAdapters.TeachersTableAdapter(); DsPassWordTableAdapters.TeacherPasswordTableAdapter dsTeacherPassword = new DsPassWordTableAdapters.TeacherPasswordTableAdapter(); int TeacherSeq = 10000; Random rm = new Random(); int TeacherSeed = rm.Next(1, 99999); string Password = TeacherSeed.ToString() + txtTeacherNumber.Text; for (; TeacherSeq 0; TeacherSeq-) Password = Encode.EncodeByMD5_32(Password); dsTeacher.Insert(txtTeacherNumber.Text.Trim(), txtTeacherName.Text, txtTeacherName.Text, Password, DateTime.Now, int.Parse(ddlDepartment.SelectedValue), int.Parse(ddlTeacherState.SelectedValue), int.Parse(txtTeacherMvaxLessionCount.Text); DataTable testdt = dsTeacher.A_GetTeacherByNumber(txtTeacherNumber.Text); string id = testdt.Rows0.ItemArray.GetValue(0).ToString(); dsTeacherPassword.Insert(int.Parse(id), 9999, TeacherSeed); 5.3 管理员 /老师 /学生登录功能 在登录页面对应的地方输入用户名、密码,确认后登录。在提交后的文件中,首先通过学号 /工作证号对数据库中的 Managers /Students/Teachers 表进行检索,若检索到的记录集为空,则说明学号 /工作证号错误,从而转到相应的出错处理程序,若记录集不为空,再进行密码判断,通过动态密码算法和数据库 中的ManagerPassword /StudentPassword/TeacherPassword 看密码是否相等,不相等,做出错处理,相等则转入管理员 /学生 /老师登录成功的操作页面。 出 错及处理:在该模块中可能发生的错误有: (1)、用户名或密码错误,系统提示 “ 用户名或密码不正确! ” 。 (2)、捕捉到异常,系统提示 “ 对不起,登录失败,请重新登陆! ” 。 学生登录身份验证 是 在 switch (rbtnlLogType.SelectedValue)中加如下代码: case 0: /当身份为 0,即学生时 try nts第 14 页 共 24 页 DsStudentTableAdapters.StudentsTableAdapter dsStudent = new DsStudentTableAdapters.StudentsTableAdapter(); /实例化类 DsPassWordTableAdapters.StudentPasswordTableAdapter dsStudentPassword = new DsPassWordTableAdapters.StudentPasswordTableAdapter(); /实例化类 DataTable dtStudentID = dsStudent.A_GetStudentByStudentNumber(txtNumber.Text); /通过类的实例 dsStudent的方法 A_GetStudentByStudentNumber得到学号为 txtNumber.Text的学生的 所有字段的值 string StudentID = dtStudentID.Rows0.ItemArray.GetValue(0).ToString(); /得到该学生的 ID,并赋值给 StudentID string StudentAddDate = dtStudentID.Rows0.ItemArray.GetValue(5).ToString(); string StudentEndDate = dtStudentID.Rows0.ItemArray.GetValue(6).ToString(); string StudyDepartmentID = dtStudentID.Rows0.ItemArray.GetValue(7).ToString(); string StudentState = dtStudentID.Rows0.ItemArray.GetValue(8).ToString(); string StudyTypeID = dtStudentID.Rows0.ItemArray.GetValue(9).ToString(); string StudentYearCount = dtStudentID.Rows0.ItemArray.GetValue(10).ToString(); string StudentExtendID = dtStudentID.Rows0.ItemArray.GetValue(11).ToString(); DataTable dtStudent = dsStudentPassword.C_GetStudentPasswordByID(int.Parse(StudentID); string StudentSeq = dtStudent.Rows0.ItemArray.GetValue(1).ToString(); string StudentSeed = dtStudent.Rows0.ItemArray.GetValue(2).ToString(); string StudentPassword = StudentSeed.ToString() + txtPassWord.Text; nts第 15 页 共 24 页 /将 StudentSeed.ToString()和 txtPassWord.Text连接起来赋值给StudentPassword,作为要加密的密码 int StudentSeq1; for (StudentSeq1 = int.Parse(StudentSeq); StudentSeq1 0; StudentSeq1-) StudentPassword = Encode.EncodeByMD5_32(StudentPassword); /加密 过程,将密码加密 int.Parse(StudentSeq)次 DsLogTableAdapters.LogInfoTableAdapter dalLogInfo = new DsLogTableAdapters.LogInfoTableAdapter(); DataTable dtLogInfo = dalLogInfo.A_GetLogInfo(txtNumber.Text, StudentPassword, int.Parse(rbtnlLogType.SelectedValue); /使用 dalLogInfo.A_GetLogInfo方法 验证登录 ,找到学生就写相应字段到表 dtLogInfo中 if (dtLogInfo.Rows.Count =1) /如果 行数等于 1, 通过验证 SetCookie(Number, txtNumber.Text); SetCookie(Password, StudentPassword); SetCookie(UserID, dtLogInfo.Rows0UserID.ToString(); SetCookie(RealName, dtLogInfo.Rows0RealName.ToString(); SetCookie(UserName, dtLogInfo.Rows0UserName.ToString(); SetCookie(UserType, rbtnlLogType.SelectedValue); /保存用户信息到 Cookie lblInfo.Visible = true;/显示提醒信息框 lblInfo.Text = 登录成功! ;/设置要显示的提醒信息 dsStudent.Update(GetCookie(Number), GetCookie(RealName), GetCookie(RealName), StudentPassword, DateTime.Parse(StudentAddDate), DateTime.Parse(StudentEndDate), int.Parse(StudyDepartmentID), int.Parse(StudentState), int.Parse(StudyTypeID), int.Parse(StudentYearCount), int.Parse(StudentExtendID), int.Parse(StudentID),int.Parse(StudentID); /更新 Students表中该学生字段值 int StudentSeq2 = int.Parse(StudentSeq) - 1; nts第 16 页 共 24 页 dsStudentPassword.Update(int.Parse(StudentID), StudentSeq2,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
2:不支持迅雷下载,请使用浏览器下载
3:不支持QQ浏览器下载,请用其他浏览器
4:下载后的文档和图纸-无水印
5:文档经过压缩,下载后原文更清晰
|