其中,各模块实现的功能如下:
(1)数据导入:辅助学位办工作人员从其它部门(招生办、培养科)导入学生已有的基本信息,包括学籍信息和培养信息。
(2)数据录入:辅助学位办工作人员通过研究生部局域网,以及研究生通过互联网录入相关信息。
(3)数据处理:实现学位证书号码自动生成、数据转存数据维护等操作。
(4)用户管理:实现各种登录用户的角色、权限管理以及密码修改。
(5)数据查询:实现从数据库查找相关学生记录,并按一定格式显示和打印。
(6)数据输出:实现学位申请表的打印、学位信息导入、上报库dbf表等功能。
3 系统实现
1) ASP.NET中的安全机制
学位系统采用ASP.NET安全架构中的表单验证方式实现用户登录。使用表单身份验证时,通过指定的登录页面收集用户的凭证信息,如果未验证身份的用户试图访问受保护的文件或资源(其中,URL授权拒绝用户访问)将被重新定向到该登录页面,用户在此处尝试通过身份验证。用户提供凭据并提交该窗体,如果应用程序对请求进行身份验证,系统会发出一个Cookie,其中包含用于重新获取标识的凭据或密钥。随后发出的请求在请求头中具有该Cookie,ASP.NET事件处理程序使用应用程序开发人员指定的任何验证方法对这些请求进行身份验证和授权。其验证流程如图3所示。
图3 基于窗体的身份验证流程
基于窗体的身份验证开发步骤如下:
(1) 将IIS配置为使用匿名访问。
(2) 将 ASP.NET 配置为使用表单身份验证。在Web.config文件中配置authentication元素的属性,设置为身份验证模式。
<authentication mode="Forms">
<forms name=".ASPXAUTH" protection="Encryption" timeout="15" loginUrl="Login.aspx" />
</authentication>
(3) 检索数据存储验证用户,从自定义数据存储中检索角色列表(不是基于角色可不用)。
(4) 使用FormsAuthenticationTicket创建一个Cookie并回发到客户端,并存储角色到票中。
FormsAuthentication.SetAuthCookie(Username,true | false)
HttpContext.Current.Response.Cookies[FormsAuthentication.FormsCookieName].Expires=DateTime.Now.AddDays(1) //cookies保存时间
如果需要存储角色,采用:
FormsAuthenticationTicket authTicket = new Forms AuthenticationTicket(
1, // 版本号,设置为1
txtUserName.Text, // 用户标示
DateTime.Now, // Cookie的发出时间, 设置为 DateTime.Now
DateTime.Now.AddMinutes(20),// Cookie的有效时间
false, // 是否持久性
roles ); //roles为存储的用逗号分割的角色串
string encryptedTicket = FormsAuthentication. Encrypt (authTicket); //把身份验证票加密
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典工学类基于Web的研究生学位信息管理系统开发关键技术(2)在线全文阅读。