- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种模块化用户认证服务设计与实现
一种模块化用户认证服务设计与实现
摘要:在远程教育信息化建设中,经常需要为一些阶段性活动构建网络平台,而这类网络平台往往需要进行统一身份认证。本文给出了一种基于HttpModule的ASP.NET应用系统用户认证服务方案,并通过SOA架构进行实现,使不同的ASP.NET应用系统能够通过统一的、可配置和重用的HttpModule认证模块实现轻量级用户统一认证功能,从而达到降低开发成本,提高开发效率的目的。
关键词:HttpModule;ASP.NET;SOA;认证服务
中图分类号:TP393 文献标识码:A 文章编号:1673-8454(2012)03-0086-05
一、引言
在远程教育快速发展的今天,信息化系统随着远程教育事业的发展不断建设。近几年来,随着网络技术的蓬勃发展,利用B/S架构搭建的信息平台逐渐增多。为一些临时性大型活动或特定教学活动创建的Web应用程序存在应用时间短、系统构造简单、开发和维护周期短等特点。这些应用程序往往需要实现用户认证及识别功能,以往的做法是为每套Web应用程序重构身份认证模块到统一或各自的用户数据库进行验证,但这样不仅导致资源浪费,也不利于各个应用系统间用户身份信息的统一认证。
本文研究在,NET框架下,利用ASP.NET HttpModule技术,实现基于SOA架构的可被ASP.NET Web应用程序系统配置和重用的模块化用户认证服务,从而实现多个ASP.NET应用程序间统一用户身份认证。
二、SOA以及HttpModule介绍
1.SOA架构介绍
SOA的体系结构包括服务消费者、服务提供者和服务注册中心3个角色。
服务提供者是创建服务的实体。它可以从服务消费者处接受请求并可以远程执行所请求服务。服务提供者通过向注册中心发布服务接口信息以供服务消费者发现和访问服务。
服务注册中心提供了展示服务的功能。服务消费者可以通过查询存储有服务信息的服务注册库找到感兴趣的服务接口信息。
服务消费者是指需要使用服务的应用程序或服务。通过对注册中心的服务信息进行查询后,根据接口说明信息并使用某种传输协议与服务绑定并执行服务功能。如图1描述了SOA角色间的关系。
SOA是一种以服务为中心的体系结构,通过服务封装,每个服务都可以近似地看成是一个子应用程序。将这些子应用程序进行组合和调用可以创建满足业务需求的应用系统,SOA体系架构可以实时调用这些子应用程序。SOA的实现方法是一种自顶而下的设计方法。整个软件过程划分为服务的定义、描述、发布、发现、绑定、服务的编排(业务逻辑设计)和调用执行过程。软件的功能模块体现为服务组件、接口。
2.HttpModule模块介绍
在,NET框架环境中,当用户的HTTP请求到达IIS后,用ASP.NET开发的Web应用程序都是在ASP.NET运行时环境中处理,其工作流程如图2所示。
从图2可知IIS实际将用户的HTTP请求直接传给了ASP.NET运行时环境,ASP.NET为每个Web应用程序维护一个HttpApplication类实例,并把用户的HTTP请求交给这个实例来处理,这个HttpApplication类的实例包含了一组类对象,如HttpModule类对象和HttpHandler类对象等,它们分别实现和HTTP协议处理有关的各种功能。在HttpApplication类的实例处理用户HTTP请求的过程中,这些类对象的方法会根据需要依次被调用,最后形成应答返回给用户,从而形成了一条处理HTTP请求处理管道。
HttpModule是实现了System.Web.IHttpModule接口的NET组件。这些组件通过在某些事件中注册自身,把自己插入ASP.NET请求处理管道中。当这些事件发生的时候,ASP.NET调用对请求有关的HttpModule,这样该HttpModule就能处理请求了。
三、基于HttpModule模块的ASP.NET用户认证服务设计
1.设计思路
由于短期使用的Web应用系统实际上都是一个独立的B/S结构的应用子系统,因此在用户身份认证设计上,采用单点登录思想对用户身份认证过程进行设计,为独立的Web应用系统设计一个独立的用户身份认证模块。结合SOA架构将用户身份认证模块封装并以服务调用的方式提供给各个Web应用系统使用。
用户登录系统的身份认证技术主要有两种。一种是基于用户口令的认证,当用户登录系统时,提示用户输入用户名和口令。系统核对用户输入的信息与系统内储存的用户信息是否一致,如果一致,则证明用户身份有效;如果不一致,则证明用户身份无效。另一种方法是基于证书的认证。当用户访问系统时,服务器请求客户端提交的用户认证证
原创力文档


文档评论(0)