WCF 4 web服务中的UsernameToken和SSL



我正在创建一个web服务,该服务将由世界另一个地方的单个客户端使用。我对他们正在使用的技术没有任何了解或控制,但被要求进行

"在传输过程中使用SSL加密消息,并使用UsernameToken用于客户端身份验证"

我计划使用WCF4来创建服务,并大致了解如何设置这一切。然而,我很难找到绑定等的正确配置。谷歌给了我很多关于WSE 3.0的结果,但我很确定(如果我错了,请纠正我),我不应该将WSE用于WCF服务。

这篇文章最初似乎建议我应该使用自定义绑定,但后来也说我应该"考虑使用具有适当安全设置的WCF系统定义的绑定,而不是创建自定义绑定"。然而,我看不到任何应该是什么的例子。

如果有人能为我指明正确的方向,我将不胜感激。

tl;dr:支持SSL和UsernameToken的WCF4配置设置是什么?

查看WsHttpBinding。您可以使用TransportWithMessageCredential的安全模式来使用SSL和UserName的消息凭据。如果您在IIS中托管,请在那里设置SSL。

您可以在config中设置绑定,如下所示。

<bindings>
  <wsHttpBinding>
    <binding name="secureBinding">
      <security mode="TransportWithMessageCredential">
        <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
        <message clientCredentialType="UserName" negotiateServiceCredential="false" establishSecurityContext="false" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>

然后,您可以按照以下使用此绑定配置

<services>
  <service name="ServiceName">
    <endpoint address="" binding="wsHttpBinding" contract="ContractType" bindingConfiguration="secureBinding" />
  </service>
</services>

这两个元素都是config中system.serviceModel元素的子元素。

相关内容

  • 没有找到相关文章

最新更新