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

有没有办法使用与会员提供者相同的用户名和密码进行WCF服务验证?如果是,它支持哪些绑定?我需要从当前调用该服务的用户提取一个配置文件变量。感谢任何帮助。

解决方法

基本上任何接受用户名/密码作为消息安全性的客户端凭据的绑定都可以配置为使用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支持,几乎是所有常见的嫌疑人。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....