一种截取过滤器实现方案的应用研究
2012-08-08陈刚
陈刚
(内江职业技术学院 信息电子工程系,四川 内江 641100)
基于Web程序提供的产品和服务,使信息产业已渗透到人们日常生活、学习和工作的方方面面,随之而来的是Web程序也日益成为恶意攻击的目标。当前Web应用的开发都是基于某一软件体系架构,与别的开发架构一样,ASP.NET MVC的内置特征并不能对常见的网络安全问题给予足够的支持。为了更好地解决这个问题,同时遵循软件工程的一些基本原则,(如分隔原则、构件原则以及复用原则等),需要配合一定的设计模式,以提高软件产品的质量。
1 ASP.NET MVC架构
1.1 ASP.NET MVC架构原理
微软自2009年推出ASP.NET MVC1以来,到目前为止已推出第3个正式版本,即ASP.NET MVC3。ASP.NET MVC将Web应用程序的输入逻辑、业务逻辑和用户界面逻辑3个不同的方面进行隔离,从而将一个MVC程序分为3个部分:模型(Model)、视图(View)和控制器(Controller)。 每一部分都定义良好且是自包含的,即:与数据操作相关的逻辑仅包含在Model之中;与数据显示相关的逻辑仅包含在View中;处理用户请求和输入仅包含在Controller中。Model、View和 Controller描述如下:
(1)Model:是对应用领域的定义,它可以是简单的view model, 也可以是 domain model。view models只是描述在View和Controller之间传递的数据;而 domain model则包含业务逻辑和数据操作规则。Model的设计是MVC的核心。
(2)View:代表应用程序的用户界面,显示数据。
(3)Controller:是 View 和 Model之间的胶合剂,它处理请求,执行Model上定义的操作,选择View显示给用户。
在处理 HTTP请求时,Controller、Model和 View之间的相互作用如图1[1]所示。

图1 控制器、模型和视图之间的相互作用
1.2 ASP.NET MVC架构存在的问题
ASP.NET MVC3具有非常优秀的灵活性和可扩展性,但其内置特性对基于MVC架构的应用只提供了基础的支持,许多在实际应用中需要的功能ASP.NET MVC3并没有实现,只是留下一些接口供开发者根据具体的应用环境加以实施。……
