Welcome

首页 / 软件开发 / WCF / WCF security 使用Membership provider

WCF security 使用Membership provider2012-01-02 博客园 刘将1. Transfer Security

Transfer Security 主要包括三个方面: "消息完整性(Message Integrity)"、"消息机密性 (Message Confidentiality)" 和 "交互验证(Mutual Authentication)"。

消息完整性必须确保消息在传输过程中没有被篡改,接收的消息是完整且正确的;消息机密性必须确保消息不会被任何第三方查阅,消息内容不会泄漏给任何非相关人员;而交互认证则是指客户端和服务器必须通过某种信任机制才能建立正确的连接,同时交互认证还要监测并阻止拒绝服务攻击(DOS)。通常的做法是对消息进行数字签名来确保其完整性,使用非对称加密算法来阻止消息内容外泄,而用户名/密码、X.509 数字证书等方式则可以用来验证对方身份,在这里我们主要讲述如何在WCF中使用Membership provider的身份验证方式.

2.使用 ASP.NET Membership Provider

ASP.NET Membership Provider是一种功能,可供 ASP.NET 开发人员用于创建允许用户创建唯一用户名和密码组合的网站。使用此工具,任何用户都可以在该网站上建立帐户,并登录网站以便独占访问该网站及其服务。这与要求用户在 Windows 域中具有帐户的 Windows 安全完全不同。所有提供凭据(用户名/密码组合)的用户都可以使用该网站及其服务。在做这个Demo之前,我们需要创建本地的aspnetdb数据,使用vs2008的tool中的 command命令下执行:aspnet_regsql。这个命令会为我们本地创建一个名为aspnetdb的数据。同时我们使用ASP.Net configuration工具创建1个角色:角色名为:super user.建立一个用户;user1.这个user1的角色是super user.具体关于membership provider方面的知识可以在MSDN是查找相关的知识,在这里我们就不多说,事实上在WCF中,使用ASP.NET Membership Provider 和使用userName/password一样的机制,同样我们也需要在服务端装上x509的证书。用以在传输过程中用于加密用户名和密码。

创建证书:makecert -r -pe -n "CN=MyServer" -ss My -sky exchange .