共用方式為


Windows 用戶端的訊息安全性

這個案例會顯示以訊息安全性模式保護的 Windows Communication Foundation (WCF) 用戶端和伺服器。此用戶端和伺服器會以 Windows 認證進行驗證。

Windows 用戶端的訊息安全性

特性 描述

安全性模式

訊息

互通性

僅限 WCF

驗證 (伺服器)

交互驗證伺服器和用戶端

驗證 (用戶端)

交互驗證伺服器和用戶端

完整性

是,使用共用安全性內容

機密性

是,使用共用安全性內容

傳輸

NET.TCP

繫結

NetTcpBinding

服務

下列程式碼和組態要獨立執行。執行下列任一步驟:

  • 使用不含組態的程式碼建立獨立服務。
  • 使用提供的組態建立服務,但不要定義任何端點。

程式碼

下列程式碼會示範如何建立服務端點,而這個服務端點會使用訊息安全性來建立 Windows 電腦的安全內容。

組態

可以使用下列組態取代程式碼來設定服務:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <services>
      <service behaviorConfiguration=""
               name="ServiceModel.Calculator">
        <endpoint address="net.tcp://localhost:8008/Calculator"
                  binding="netTcpBinding"
                  bindingConfiguration="Windows"
                  name="WindowsOverMessage"
                  contract="ServiceModel.ICalculator" />
      </service>
    </services>
    <bindings>
      <netTcpBinding>
        <binding name="Windows">
          <security mode="Message">
            <message clientCredentialType="Windows" />
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
    <client />
  </system.serviceModel>
</configuration>

用戶端

下列程式碼和組態要獨立執行。執行下列其中一項:

  • 使用此程式碼 (和用戶端程式碼) 建立獨立用戶端。
  • 建立未定義任何端點位址的用戶端,然後改用可接受組態名稱當做引數的用戶端建構函式。例如:

程式碼

下列程式碼會建立用戶端。繫結會使用訊息模式安全性,而且用戶端認證類型設為 Windows

組態

可使用下列組態來設定用戶端屬性。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <bindings>
      <netTcpBinding>
        <binding name="NetTcpBinding_ICalculator" >
         <security mode="Message">
            <message clientCredentialType="Windows" />
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
    <client>
      <endpoint address="net.tcp://machineName:8008/Calculator" 
                binding="netTcpBinding"
                bindingConfiguration="NetTcpBinding_ICalculator"
                contract="ICalculator"
                name="NetTcpBinding_ICalculator">        
      </endpoint>
    </client>
  </system.serviceModel>
</configuration>

請參閱

概念

安全性概觀