1

私は、世界の別の場所にいる1人のクライアントによって使用されるWebサービスを作成しています。私は彼らが使用しているテクノロジーについての知識やコントロールを持っていませんが、

「SSLを使用して転送中にメッセージを暗号化し、UsernameTokenをクライアント認証に使用する」

私はWCF4を使用してサービスを作成することを計画しており、これをすべて設定する方法を一般的に知っています。ただし、バインディングなどの正しい構成を見つけるのに苦労しています。GoogleはWSE 3.0に関する多くの結果を提供しますが、WCFにWSEを使用するべきではないと確信しています(間違っている場合は修正してください)。サービス。

この記事では、最初はカスタムバインディングを使用する必要があることを示唆しているようですが、「カスタムバインディングを作成するのではなく、適切なセキュリティ設定でWCFシステム定義のバインディングを使用することを検討する必要がある」とも述べています。しかし、私はこれがどうあるべきかについての例を見ることができません。

誰かが私を正しい方向に向けることができれば幸いです。

tl; dr:SSLとUsernameTokenをサポートするためのWCF4構成設定は何ですか?

4

1 に答える 1

4

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要素の子です。

于 2012-01-12T04:16:18.053 に答える