WCF用户验证基本实现原理

开发 开发工具
WCF用户验证的实现在实际程序开发中是一个非常必要的操作应用。那么如何才能正确的实现这一功能呢?在这里将会对此进行一个介绍。

WCF开发工具的实际应用中,有很多比较高深的内容是值得我们去深入研究的。作为一个初学者,可以通过不断的实践去积累这方面的经验,来达到这一个熟练的程度。在这里就先来了解一下有关WCF用户验证的相关概念。#t#

对登录用户的验证是大部分应用所必需的,对于ASP.NET来说,WCF用户验证及帐号管理实现在成员资格(Membership)模块中。同ASP.NET的其他模块一样,微软在设计Membership的时候,为了实现更好地可扩展性,采用了策略(Strategy)设计模式:将模块相关的功能定义在被称为Provider的抽象类型中,并通过继承它提供具体的Provider。如果这些原生的Provider不能满足你的需求,你也可以通过继承该抽象的Provider,创建自定义的Provider。通过ASP.NET提供的配置,你可以很轻易地把自定义的Provider应用到你的应用之中。在一般情况下,最终的编程人员并不通过Provider调用相关的功能,而是通过一个外观(Facade)类实现对相关功能的调用。

ASP.NET成员资格模块的设计基本上可以通过下面的类图1反映出来:最终的编程人员通过外观类型(Façade Class)Membership调用成员资格相关的功能,比如用户认证、用户注册、修改密码等;Membership通过抽象类MembershipProvider提供所有的功能,至于最终的实现,则定义在一个个具体的MembershipProvider中。基于成员资格信息不同的存储方式,ASP.NET提供了两个原生的MembershipProvider:SqlMembershipProvider和ActiveDirectoryMembershipProvider,前者基于SQL Server数据库,后者基于AD。如果这两个MembershipProvider均不能满足需求,我们还可以自定义MembershipProvider。.

WCF用户验证 

图1 ASP.NET Membership 设计原理

我们的WCF用户验证的实现案例并不会部署于AD之中,所以不能使用ActiveDirectoryMembershipProvider;直接通过Web服务器进行数据库的存取又不符合上述物理部署的要求(通过应用服务器进行数据库访问),所以SqlMembershipProvider也不能为我们所用。为此需要自定义MembershipProvider,通过WCF服务调用的形式提供成员资格所有功能的实现。我们将该自定义MembershipProvider称为RemoteMembershipProvider。RemoteMembershipProvider实现的原理:RemoteMembershipProvider通过调用WCF服务MembershipService提供对成员资格所有功能的实现;MembershipService则通过调用Membership实现服务;最终的实现还是落在了SqlMembershipProvider这个原生的MembershipProvider上。

责任编辑:曹凯 来源: CSDN
相关推荐

2010-02-22 14:53:17

WCF用户密码

2010-02-22 14:18:34

WCF服务验证

2014-06-06 09:01:07

DHCP

2009-12-21 14:58:57

WCF用户密码认证

2009-11-06 09:22:46

WCF应用

2009-11-05 09:59:59

WCF绑定

2010-03-02 16:09:53

WCF框架

2010-02-23 16:32:29

WCF服务

2009-12-21 10:27:52

WCF基本概念

2010-02-26 16:10:50

WCF传送二进制流数据

2010-03-01 14:50:30

WCF行为类型

2010-03-01 18:04:35

WCF配置绑定

2010-02-25 13:18:36

WCF单向协定

2009-12-21 15:33:07

WCF集合元素

2009-12-07 10:16:22

WCF基本技术

2010-02-25 15:49:05

WCF消息模式

2010-03-02 09:24:22

WCF变更行为

2010-03-02 15:53:02

WCF服务合同

2010-02-24 13:38:18

WCF PreCal模

2010-02-24 17:17:04

WCF宿主环境
点赞
收藏

51CTO技术栈公众号