是否有一种方法可以使用来自成员资格提供程序的相同用户名和密码进行WCF服务身份验证?如果是,它支持哪种绑定?我需要从当前调用服务的用户中提取一个配置文件变量。谢谢你的帮助。
发布于 2010-04-11 14:02:50
基本上,任何接受用户名/密码作为消息安全性客户端凭据的绑定都可以配置为使用ASP.NET成员资格提供程序。
在how to use the ASP.NET Membership provider in WCF上查看此MSDN文档-您需要为类型为"UserName“的客户端凭据配置绑定。
<bindings>
<wsHttpBinding>
<!-- Set up a binding that uses UserName as the client credential type -->
<binding name="MembershipBinding">
<security mode ="Message">
<message clientCredentialType ="UserName"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
以及使用ASP.NET成员身份进行用户身份验证的服务:
<serviceBehaviors>
<behavior name="AspNetMembership">
<serviceCredentials>
<userNameAuthentication
userNamePasswordValidationMode ="MembershipProvider"
membershipProviderName ="SqlMembershipProvider"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
当然,在配置服务时,您必须将此服务行为应用于服务!
<services>
<service name="YourService" behaviorConfiguration="AspNetMembership">
....
</service>
</services>
basicHttpBinding、wsHttpBinding、netTcpBinding都支持UserName客户端凭据类型-所以几乎所有常见的可疑类型都是如此。
https://stackoverflow.com/questions/2615316
复制相似问题