セキュリティで保護されていないインターネット環境のクライアントとサービス

セキュリティで保護されていないパブリックな Windows Communication Foundation (WCF) クライアントとサービスの例を次の図に示します。

セキュリティで保護されていないインターネット クライアントとサービスのシナリオ

特性 説明

セキュリティ モード

なし

トランスポート

HTTP

バインディング

BasicHttpBinding (コードを使用する場合) または <basicHttpBinding> 要素 (構成を使用する場合)。

相互運用性

既存の Web サービス クライアントとサービスを使用する

認証

なし

整合性

なし

機密性

なし

サービス

下のコードと構成は、別々に実行することを想定しています。次のいずれかを行います。

  • 構成を使用せずに、コードを使用してスタンドアロン サービスを作成する。
  • 提供された構成を使用してサービスを作成し、エンドポイントを定義しない。

コード

次のコードは、セキュリティで保護されないエンドポイントを作成する方法を示しています。既定では、BasicHttpBinding のセキュリティ モードは None に設定されます。

サービス構成

次のコードは、構成を使用して同一のエンドポイントをセットアップします。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <behaviors />
    <services>
      <service behaviorConfiguration="" name="ServiceModel.Calculator">
        <endpoint address="https://localhost/Calculator" 
                  binding="basicHttpBinding"
                  bindingConfiguration="Basic_Unsecured" 
                  name="BasicHttp_ICalculator"
                  contract="ServiceModel.ICalculator" />
      </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding name="Basic_Unsecured" />
      </basicHttpBinding>
    </bindings>
    <client />
  </system.serviceModel>
</configuration>

クライアント

次のコードと構成は、別々に実行します。以下のいずれかの操作を行います。

  • コード (およびクライアント コード) を使用してスタンドアロン クライアントを作成します。
  • エンドポイント アドレスを定義しないクライアントを作成します。代わりに、引数として構成名を受け取るクライアント コンストラクタを使用します。次に例を示します。

コード

次のコードは、セキュリティで保護されていないエンドポイントにアクセスする基本的な WCF クライアントを示します。

クライアントの設定

クライアントを構成する場合のコード例を次に示します。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_ICalculator" >
          <security mode="None">
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="https://localhost/Calculator/Unsecured"
          binding="basicHttpBinding" 
          bindingConfiguration="BasicHttpBinding_ICalculator"
          contract="ICalculator" 
          name="BasicHttpBinding_ICalculator" />
    </client>
  </system.serviceModel>
</configuration>

関連項目

概念

セキュリティの概要

その他の技術情報

一般的なセキュリティ シナリオ