基于.Net的信息管理系统设计的研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:wlflfxzq45
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:ASP.NET作为微软的.NET构架中的一部分,已成为开发管理信息系统的主流开发工具。该文主要讨论了ASP.NET的优势,系统设计结构,.NET数据库技术以及实现ASP.NET应用程序安全性的策略和解决方案。对于构建完整的信息管理系统具有一定的借鉴作用。
  关键词:.NET;信息管理;结构;安全;策略
  中图分类号:TP302文献标识码:A文章编号:1009-3044(2009)32-8928-03
  The Research of Information Management System Design Bases on NET
  LIU Hong-ming, LI Dong-kang
  (Department of Computer Science,TongHua Normal University, Tonghua 134002, China)
  Abstract: ASP.NET as a part of Microsoft .NET framework,has become the mainstream of development tools to design management information systems.This article mainly discussed the advantages of ASP.NET,system design structure,.NET database technology and the realization of ASP.NET application security strategies and solutions.For complete information management system built with a certain reference to the role.
  Key words: .NET; information management; structure; security;Policy
  随着计算机网络技术、开发平台等计算机应用技术的迅猛发展,管理信息系统(简称为MIS)被广泛应用于企业、金融、医疗、教育、物流等很多领域,已经越来越系统化、智能化和网络化,在竞争激烈的现代社会发挥着越来越重要的作用。Microsoft公司最新推出的Microsoft Visual Studio.NET,它是一套完善的构建新一代网络应用以及桌面应用的程序语言和开发工具的集合。利用其中的.NET框架(.NET Framework)中的类库、完善的集成开发环境、灵活丰富的程序语言以及相应的数据库技术可以很简便地完成MIS的设计。
  本文研究了.NET下管理信息系统设计理论与技术解决方案,包括管理信息系统的开发平台(ASP.NET)、管理信息系统的结构、ADO.NET技术以及关系数据库技术和基于网络带来的安全问题提供安全策略等。这些实现过程都充分体现了.NET平台开发中小项目效率高的优势。
  1 .Net的信息管理系统开发工具
  传统的开发工具ASP(Active Serve Pages)技术曾经在Web应用系统中得到了很好的应用,但一般只在小型的Web应用系统中采用这种方案。随着Internet/Intranet的飞速发展,ASP技术的缺陷也就开始逐渐暴露,主要表现在:开发过程繁琐;不支持编程语言的全部功能;执行效率、安全性和扩展性比较差;入侵者可以通过ASP方便地入侵Web Server、窃取服务器上的文件、捕获Web数据库等系统的用户口令,甚至恶意删除服务器上的文件,造成系统损坏。
  为了弥补以上ASP的一些缺点,微软公司推出的一种Internet编程技术,即ASP.NET,它是Microsoft下一代.NET平台的动态网页技术。
  1.1 ASP.NET的工作原理
  ASP.NET是由支持它的服务器上的.NET Frame Work负责解释执行,当服务器接收到一个对某ASP 页面时,如果这是对该页面创建或修改后的第一次请求,.NET Frame Work就会把该页面中的程序语言内容先编译成MSIL(Microsoft Intermediate Language),然后MSIL再被编译成机器码加以执行,最后将执行结果输出给浏览器。ASP 页面被编译成MSIL后,其执行代码以独立线程的方式一直存在于服务器内存中。以后对ASP 页面提出请求时,不需要重新编译,直到该页面被修改或Web应用程序重启动。
  1.2 ASP.NET的优势
  ASP.NET具有ASP所不具有的优势,主要表现在:ASP.NET可以支持VB、C#、JavaScript以及可以编译成MSIL的程序语言,真正提供了中层语音执行结构,允许各种语言的使用;执行速度较快;ASP.NET通过ADO.NET技术可以访问数据库系统,ADO.NET提供的Data Grid等数据库元件可以直接和数据库联系,把数据库中的内容显示出来;ASP.NET中还引入了一种真正的组件模式,通过这种服务器端的控制以及事件触发,这种ASP 中的新组件控制是宣告性质的,因此只需写很少的代码,并且在有些情况下,可以完全不写任何代码。
  2 信息管理系统结构设计的分析
  信息管理系统(MIS)的模式从主机模式、文件服务器模式发展到CLIENT/SERVER(C/S)模式和BROWSE/SERVER(B/S)模式,目前主要应用C/S模式和B/S模式,但随着Internet技术的发展,B/S模式日渐流行。到目前为止,C/S和B/S模式都已经很成熟,然而在应用中又都有各自的优势和不足,为此在C/S和B/S模式的基础上,将这两种结构模型融合在一起,形成一种混合结构,充分发挥两种模式结构的优点,形成了一个较完善的混合结构的模型。
  2.1 C/S模式的优势与不足
  即C/S结构,是基于资源不对等,且为实现共享而提出的,该结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。C/S模式主要优势在于交互性强。在C/S中,客户端有一套完整的应用程序,在出错提示、在线帮助等很多方面都有强大的功能。此外,C/S一般面向相对固定的用户群,对信息安全的控制能力很强,可以对权限多层次校验。但C/S开发成本高,因为一个软件平台及开发工具一旦选定,不可能轻易更改。其次,维护困难。一旦发生变化,必须更新所有的客户端程序,当系统规模很大时,维护代价很高。因此,C/S模式一般建立在专用的网络上,适合在规模较小、单一数据库、安全、快捷的网络环境下运行,从而可大大提高系统的处理速度和数据访问的正确性。
  2.2 B/S模式的优势与不足
  即B/S结构,是随internet技术的兴起,对C/S体系结构的一种变化或者改进的结构。在B/S体系结构下,用户界面完全通过WWW浏览器实现,而系统安装、修改和维护全在服务器端解决。
  B/S模式建立在广域网的基础之上,与C/S相比,其优点有:1)使用简单,界面友好;2)易于维护和升级;3)扩展性好,有效保护投资;4)信息共享度高。
  B/S结构的不足在于:B/S结构对Web服务器的软硬件要求都很高,企业的一次投资比较大。在B/S结构中,随着用户的增加导致性能(特别是速度)下降很明显,因此目前B/S结构用在安全性要求不高,数据交互比较小的地方。
  2.3 C/S与B/S相结合的系统结构设计
  基于B/S模式的先进性和C/S模式的成熟性,采用一种比较灵活的B/S与C/S结合,取长补短、交叉并用的方案。客户端用户可以在C/S模式下工作,也可在Web浏览器上通过Web服务器工作(B/S模式)。根据一定的原则,将系统的所有子功能分类,决定哪些子功能适合采用C/S模式,哪些子功能适合采用B/S模式。适合采用C/S模式的子功能应具有良好的安全性,较强的交互性,使用范围比较小,较强的数据处理能力。而适合采用B/S模式的子功能使用范围比较广,功能变动频繁,安全性要求不是很高。
  3 基于.Net管理信息系统设计的关键技术
  数据库访问一直都是数据库系统开发的一个重要方面。作为ADO的改进版—ADO.NET的推出可谓恰逢其时,和前一个版本相比,ADO.NET进行了相当多的改进,在平台互操作以及可扩展性方面都做了很多有意义的创新。
  3.1 ADO.NET简介
  ADO.NET是微软.NET框架中的一种新的数据访问技术,它能用于访问关系型数据库系统,如SQL Server 2000或2005,及很多其他已经配备了OLE DB提供程序的数据源。以前,数据处理主要依赖于基于连接的双层模型。当数据处理越来越多地使用多层结构时,程序员正逐渐向断开方式转换,以便为应用程序提供更佳的可缩放性。ADO.NET提供两个核心组件:DataSet和Data Provider,通过ADO.NET可以从数据操作中分解出数据访问。
  1)ADO.NET的DataSet(数据集)组件
  ADO.NET的DataSet组件为ADO.NET提供断开式结构服务,DataSet的设计是为了实现独立于任何数据源的数据访问。因此,它可以用于多种不同的数据源,用于XML数据,或用于管理程序本地的数据。DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataTable对象中数据的关系信息组成。
  2)ADO.NET的Data Provider(数据提供程序)组件
  ADO.NET结构的另一个核心元素是.NET数据提供程序,它的设计是为了实现对数据库的连接、操作和快速、只读的访问。.NET数据提供程序包括Connection、Command、DataReader和DataAdapter四种对象。
  3.2 ADO.NET两种访问数据库的模式
  对于不同的应用需要,ADO.NET设计了两种访问数据库的模式:使用DataSet对象进行基于连接的访问和使用DataAdapter对象进行的非连接的访问。由于这两种模式的设计目的不同,所以在应用程序开发中应该根据实际需要选择合适的数据库访问模式以发挥出ADO.NET的最佳性能,这对于提升应用程序性能有着非常重要的意义。
  1)DataSet对象。它能够提供读取数据的本地缓存,而且由于DataSet对象对XML良好的支持,使它特别适合于在应用的各层之间或通过Web Service以XML方式进行传递,另外它还能满足当所需数据来自于多个数据源(如多个数据库或文件),而又必须建立相互之间关联关系的需要。DataSet对象同时也提供对获得数据的批量更新功能。但构建DataSet对象时需要较大的额外开销,使它在数据访问效率上较DataReader对象稍逊。值得注意的是,由于每个DataSet对象都会占据一定量的内存,如果设计不当,会造成DataSet对象的大量生成,从而耗尽内存资源,严重降低性能。
  2)DataReader对象。通过为数据存取提供一个连续、只读的指针(Cursor),DataReader能够实现高效的、仅向前的流式结果输出。使用DataReader每次在内存中始终只有一行,所以能提高应用程序的性能并减少系统开销。由于DataReader对象提供未缓冲的数据流,该数据流使过程逻辑可以有效地按顺序处理从数据源中返回的结果。由于数据不在内存中缓存,所以在检索大量数据时,适合选择DataReader对象,但与DataSet相比则缺少了许多灵活性。
  4 基于.Net管理信息系统设计的安全性分析
  在众多系统中,分析其中存在的安全性问题,这些安全性问题主要可以归纳:信息窃取,篡改参数,SQL注入式攻击。针对中所面临的系统安全问题可采用以下的措施:
  1)保护隐藏域的安全
  针对黑客可以方便地解码BASE 64数据,得到-VIEWSTATE提供的详细资料,从而达到窃取用户资料的目的,我们有以下解决方案:设置EnableViewStat MAC="true",启用--VIEWSTATE数据加密功能。然后,将machine Key验证类型设置为DES,要求ASP.NET用Triple DES对称加密算法加密VIEWSTAT数据。
  2)使用ASP.NET域验证器
  用户输入的主要来源是HTML表单中提交的参数,如果不能严格验证这些参数的合法性,就有可能危及服务器的安全。域验证器是一种让ASP.NET开发者对域的值实施限制的机制,限制用户输入的域值必须匹配特定的表达式。但是为每个输入域引入验证器还不能防范所有通过修改参数实施的攻击。在执行数值范围检查之时,还要指定正确的数据类型,也就是说,在使用ASP.NET的范围检查控件时,应当根据输入域要求的数据类型指定适当的Type属性,因为Type的默认值是String,要确保输入值确实是整数,正确的办法是将Type属性指定为Integer。
  3)防止注入式攻击
  针对注入式攻击,可以有如下的解决方案:
  第一、调用存储过程来执行所有的查询,使用Parameters集合。
  SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵循被调用的存储过程的安全上下文,这样就很难再发生注入式攻击。如果使用了Parameters集合,则不管恶意用户输入了什么字符,所输入的内容都将作为文本进行处理;还可以实施类型检查和长度检查,超出范围的字符值将触发异常。
  第二、对于动态构造SQL查询的场合,可以使用:替换单引号,防止攻击者修改SQL命令的含义;删除用户输入内容中的所有连字符,防止攻击者构造出类如“select*from Users where lo-gin="mas"and password=""之类的查询;对于用来执行查询的数据库账户,限制其权限。
  5 总结
  基于.NET的信息管理系统设计,是目前应用比较广泛的。基于.NET的结构清晰,各层独立性强,数据访问简单,而且有很强的安全性保障。不仅能规范整个系统的分析设计过程,提高分析设计的效率,还将对系统后期的维护和再加工提供依据,为系统具有良好的性能奠定了雄厚的基础。给整个系统的设计,开发和维护都带来很大的益处。
  参考文献:
  [1] 薛华成.管理信息系统[M].北京:清华大学出版社,2006:4-6.
  [2] 唐伟.基于.NET的管理信息系统设计及开发技术研究[D].南京:东南大学,2005.
  [3] 郭剑毅,申立中.基于C/S与B/S高校科研管理信息系统的设计与实现[J].计算机工程与应用,2003(l):212-214.
  [4] 赖步英,徐玮.基于.NET的高校图书馆借阅系统设计与实现[J].计算机工程与应用,2004(19):213-216.
  [5] 郑中佩,孟凡荣.基于AsP.NET技术的企业办公自动化系统的设计[J].计算机与信息技术,2007(7).
其他文献
水利水电工程建设一般比较大,施工技术工种繁多,施工的强度高,外界因素对施工的质量影响也很大,要通过对施工方案的反复论证、试验研究,最终使施工的质量得到保证。水利水电工程试
《语文课程标准》提出了要"努力建设开放而有活力的语文课程"的基本理念,要求广大教师注重现代科技手段的运用,使学生能够进一步开阔学习的视野,提高课堂的学习效率,初步获得现
化学习题是化学教科书的重要组成部分,是学生理解和巩固所学知识、发展应用知识能力、形成解决问题能力和培养创新意识的重要载体。在新出版的义务教育化学课程标准(2011年)的
数据结构是一门理论性强、思维抽象、难度较大的计算机专业基础课。根据课程特点和学生学习特点提出了一种案例驱动的教学方法,该教学法用形象生动的实例讲解传达给学生抽象
【正】为了娱乐和办公的需要,很多PC用户将系统升级到了Vista,而且为了节省电费,许多用户习惯使用系统休眠功能,然而Vista系统在使用休眠时却遇到一些问题,笔者为了玩3D游戏,
随着我国终身学习行动在各行各业迅速有序的展开,教师角色更新为知识的先行实践者,教师的终身学习与专业发展成为独立的研究领域。小学教师培训是有效提升教师综合素质的平台
公元前623年 我国战国时期,晋国与楚国打响了春秋以来的第一次大战役。当时晋国有兵车700乘,而楚国有1500乘。在敌强我弱的情况下,晋军将领先轸通过由楚奔晋的人获知,楚军内部不
唐昭陵新城长公主墓发掘简报●陕西省考古研究所●陕西历史博物馆●昭陵博物馆新城长公主墓位于礼泉县烟霞乡东坪村北(图一),西北距唐太宗昭陵陵山——九山主峰约1.5公里。1994年10月下
相信不少IT人士在出差或旅游等时候,都会随身佩带一款MP3,这样可以在任何时候听听音乐,以此来打发无聊的时间,但对于那些IT商务人士而言,往往需要随时携带联系电话本,而时下不少新品MP3不仅容量得以提升,同时各种各样的附带功能也开始出现,其中随身电话号码本功能就是不少商务人士所最好看的,将MP3变成随身电话本,你知道怎么实现吗?  以笔者的蓝魔MP3播放器为例,要让该MP3能实现电话本功能,需要配