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

时间:2022-08-19 11:13:59

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

摘要:作为微软的.NET构架中的一部分,已成为开发管理信息系统的主流开发工具。该文主要讨论了的优势,系统设计结构,.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: 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 ,system design structure,.NET database technology and the realization of 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 ,它是一套完善的构建新一代网络应用以及桌面应用的程序语言和开发工具的集合。利用其中的.NET框架(.NET Framework)中的类库、完善的集成开发环境、灵活丰富的程序语言以及相应的数据库技术可以很简便地完成MIS的设计。

本文研究了.NET下管理信息系统设计理论与技术解决方案,包括管理信息系统的开发平台()、管理信息系统的结构、技术以及关系数据库技术和基于网络带来的安全问题提供安全策略等。这些实现过程都充分体现了.net平台开发中小项目效率高的优势。

1 .Net的信息管理系统开发工具

传统的开发工具ASP(Active Serve Pages)技术曾经在Web应用系统中得到了很好的应用,但一般只在小型的Web应用系统中采用这种方案。随着Internet/Intranet的飞速发展,ASP技术的缺陷也就开始逐渐暴露,主要表现在:开发过程繁琐;不支持编程语言的全部功能;执行效率、安全性和扩展性比较差;入侵者可以通过ASP方便地入侵Web Server、窃取服务器上的文件、捕获Web数据库等系统的用户口令,甚至恶意删除服务器上的文件,造成系统损坏。

为了弥补以上ASP的一些缺点,微软公司推出的一种Internet编程技术,即,它是Microsoft下一代.NET平台的动态网页技术。

1.1 的工作原理

是由支持它的服务器上的.NET Frame Work负责解释执行,当服务器接收到一个对某ASP+页面时,如果这是对该页面创建或修改后的第一次请求,.NET Frame Work就会把该页面中的程序语言内容先编译成MSIL(Microsoft Intermediate Language),然后MSIL再被编译成机器码加以执行,最后将执行结果输出给浏览器。ASP+页面被编译成MSIL后,其执行代码以独立线程的方式一直存在于服务器内存中。以后对ASP+页面提出请求时,不需要重新编译,直到该页面被修改或Web应用程序重启动。

1.2 的优势

具有ASP所不具有的优势,主要表现在:可以支持VB、C#、JavaScript以及可以编译成MSIL的程序语言,真正提供了中层语音执行结构,允许各种语言的使用;执行速度较快;通过技术可以访问数据库系统,提供的Data Grid等数据库元件可以直接和数据库联系,把数据库中的内容显示出来;中还引入了一种真正的组件模式,通过这种服务器端的控制以及事件触发,这种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的改进版―的推出可谓恰逢其时,和前一个版本相比,进行了相当多的改进,在平台互操作以及可扩展性方面都做了很多有意义的创新。

3.1 简介

是微软.NET框架中的一种新的数据访问技术,它能用于访问关系型数据库系统,如SQL Server 2000或2005,及很多其他已经配备了OLE DB提供程序的数据源。以前,数据处理主要依赖于基于连接的双层模型。当数据处理越来越多地使用多层结构时,程序员正逐渐向断开方式转换,以便为应用程序提供更佳的可缩放性。提供两个核心组件:DataSet和Data Provider,通过可以从数据操作中分解出数据访问。

1)的DataSet(数据集)组件

的DataSet组件为提供断开式结构服务,DataSet的设计是为了实现独立于任何数据源的数据访问。因此,它可以用于多种不同的数据源,用于XML数据,或用于管理程序本地的数据。DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataTable对象中数据的关系信息组成。

2)的Data Provider(数据提供程序)组件

结构的另一个核心元素是.NET数据提供程序,它的设计是为了实现对数据库的连接、操作和快速、只读的访问。.NET数据提供程序包括Connection、Command、DataReader和DataAdapter四种对象。

3.2 两种访问数据库的模式

对于不同的应用需要,设计了两种访问数据库的模式:使用DataSet对象进行基于连接的访问和使用DataAdapter对象进行的非连接的访问。由于这两种模式的设计目的不同,所以在应用程序开发中应该根据实际需要选择合适的数据库访问模式以发挥出的最佳性能,这对于提升应用程序性能有着非常重要的意义。

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,要求用Triple DES对称加密算法加密VIEWSTAT数据。

2)使用域验证器

用户输入的主要来源是HTML表单中提交的参数,如果不能严格验证这些参数的合法性,就有可能危及服务器的安全。域验证器是一种让开发者对域的值实施限制的机制,限制用户输入的域值必须匹配特定的表达式。但是为每个输入域引入验证器还不能防范所有通过修改参数实施的攻击。在执行数值范围检查之时,还要指定正确的数据类型,也就是说,在使用的范围检查控件时,应当根据输入域要求的数据类型指定适当的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] 郑中佩,孟凡荣.基于技术的企业办公自动化系统的设计[J].计算机与信息技术,2007(7).

上一篇:基于VRML技术的虚拟校园研究与实现 下一篇:行业信息系统安全运营管理中心建设研究