簡體   English   中英

WCF 4 Web服務中的UsernameToken和SSL

[英]UsernameToken and SSL in WCF 4 web service

我正在創建一個Web服務,該服務將由世界其他地方的單個客戶端使用。 我對他們正在使用的技術沒有任何了解或控制,但已被要求

“在傳輸過程中使用SSL加密消息,並使用UsernameToken進行客戶端身份驗證”

我打算使用WCF4來創建服務,並且通常知道如何設置這一切。 但是我很難找到正確的綁定配置等.Google給了我很多關於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元素的子元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM