资源描述:
《基于asp_net的科研管理系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4卷第2期杭州师范学院学报(自然科学版)Vol.4No.22005年3月JournalofHangzhouTeachersCollege(NaturalScienceEdition)Mar.2005文章编号:100829403(2005)0220149205基于ASP.NET的科研管理系统的设计与实现姚争为(杭州师范学院信息工程学院,浙江杭州310012)摘要:描述基于ASP.NET的科研管理系统的框架结构及各模块的主要功能,并阐述系统实现的一些关键技术:对照数据库验证用户凭据、使用存储过程、同时处理分页排序L关键词:ASP.NET;ADO.NET;SQL;科研管理;中图分
2、类号:TP317文献标识码:A0概述科学研究是高等学校的重要工作之一,对于一所综合性院校来说,学科门类多、科研项目及成果涉及领域广、数量亦比较大,给管理造成了一定的困难L利用计算机技术、网络技术和数据库技术无疑是最科学和最有效的方法,它既可提高工作效率和工作质量,又便于部门之间进行信息交流,实现资源共享L1系统分析1.1系统目标1)通过该系统,用户可以在网上完成科研工作量科研津贴的计算、统计、审核,以及实现对数据的分类查询;2)提供科研标准、文件的实时修改、信息发布、资料下载功能,便于更新管理;3)系统可以自动生成教育部和各级教育管理部门要求的有关科研的各种统计报表;4)能够
3、作为办公自动化系统,真正实现办公无纸化;5)整个系统具有良好的可扩展性及兼容性L1.2系统结构考虑到系统的可扩展性和安全性,系统采用多层结构BöS模型,以.NET技术和数据库技术为基础,利用“瘦客户端”——WEB浏览器作为客户端L1.3系统组成(见图1)1.3.1系统维护模块图1系统组成此模块提供了数据备份和恢复功能,对科研机构收稿日期:2005201207作者简介:姚争为(1977-),男,浙江海宁人,杭州师范学院信息工程学院教师,主要从事计算机网络应用方面的研究L©1994-2010ChinaAcademicJournalElectronicPublishingHouse
4、.Allrightsreserved.http://www.cnki.net150杭州师范学院学报(自然科学版)2005年和科研人员进行管理,包括机构设置、管理人员权限限定、密码修改等L1.3.2科研管理模块整个科研系统的主要功能多在该模块中实现,使用者主要是学院科研机构办公人员,其子模块主要包括:科研津贴计算、科研成果统计、上报报表管理、信息查询等L1.3.3信息查询及发布模块该模块提供了一些其他科研管理工作的功能,有文件管理、资料管理、信息发布功能,可方便地查看科研管理文件及留存的资料,通过校园网下发有关通知、各种文件和表格L2系统关键技术的实现2.1对照数据库验证用户凭
5、据出于安全方面的原因,不应以明文的方式将密码存储在数据库中L故该系统存储的是基于用户密码的单向哈希值L为避免出现与加密技术有关的密钥管理问题,此方法首选使用L为了提高安全性并降低与字典攻击有关的威胁,在创建密码哈希值之前将salt(使用加密技术生成的随机数)与密码结合起来L2.1.1编辑应用程序的Web.config文件,以配置该应用程序的表单身份验证〈authenticationmode="Forms"〉〈formsloginUrl="login.aspx"name="sqlauthcookie"timeout="60"path="ö"〉〈öforms〉〈öauthenti
6、cation〉〈authorization〉〈denyusers="?"ö〉〈allowusers="3"ö〉〈!--允许所有用户--〉〈öauthorization〉2.1.2生成随机Salt值在表单验证文件的顶部引入以下两个命名空间ImportsSystem.Security.CryptographyImportsSystem.Web.Security‘使用加密技术生成的随机数PrivateFunctionCreateSalt(ByValsizeAsInteger)AsStringDimrngAsRNGCryptoServiceProvider=NewRNGCryptoS
7、erviceProvider()Dimbuff(size)AsByterng.GetBytes(buff)‘返回与以64位数字为基组成的组等效的字符串,即随机数ReturnConvert.ToBase64String(buff)EndFunction2.1.3基于提供的密码和Salt值创建一个哈希值PrivateFunctionCreatePasswordHash(ByValpwdAsString,ByValsaltAsString)AsStringDimsaltAndPwdAsString=Strin