在WCF服务中使用ASP.NET成员资格提供者身份验证

前端之家收集整理的这篇文章主要介绍了在WCF服务中使用ASP.NET成员资格提供者身份验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法使用与会员提供者相同的用户名和密码进行WCF服务验证?如果是,它支持哪些绑定?我需要从当前调用该服务的用户提取一个配置文件变量。感谢任何帮助。

解决方法@H_403_4@
基本上任何接受用户名/密码作为消息安全性的客户端凭据的绑定都可以配置为使用ASP.NET成员身份提供程序。

查看这个MSDN文档在how to use the ASP.NET Membership provider in WCF – 您需要配置您的绑定的客户端凭据类型“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>

userName客户端凭证类型由basicHttpBinding,wsHttpBinding,netTcpBinding支持,几乎是所有常见的嫌疑人。

猜你在找的asp.Net相关文章