2014-02-26 91 views
1

我添加了一個WCF作爲從VS2013到我的客戶端應用程序的服務引用,它在app.config文件中生成了以下配置節。下面的配置在WCF的上下文中意味着什麼?

   <security mode="Message"> 
        <transport clientCredentialType="None" /> 
        <message clientCredentialType="None" /> 
       </security> 

這是什麼意思?安全模式是消息,但內部有單獨的實體用於傳輸和消息。我很困惑。

回答

3

對於提供傳輸安全性,您有兩個主要選擇:要麼在傳輸級別上要麼在消息級別上提供傳輸安全性。

MSDN上討論這個here有一篇不錯的文章。

交通運輸安全:

當使用運輸的安全性,用戶憑據和索賠 使用傳輸層通過。換句話說,用戶憑證 是依賴於傳輸的,與消息安全性相比,它允許使用更少的身份驗證選項 。

消息安全:

當使用消息安全性,用戶憑證和權利要求書是 使用WS-Security規範來 安全消息的每個消息中封裝。該選項從 身份驗證角度提供了最大的靈活性。只要 客戶端和服務都同意,您可以使用任何類型的安全性 憑據(您主要是獨立於傳輸)。根據註釋

更新

這意味着在您提供的配置文件的背景是什麼:

設置後security mode(在這種情況下message),你必須設置的選項客戶端憑證類型。客戶端憑證類型屬性指定客戶端必須提供給服務進行認證的憑證類型。在這種情況下,如果將transportmessage指定爲security mode,那麼他們將使用None作爲客戶端憑證類型,這意味着客戶端不必呈現任何憑證。

目前,由於message是指定的security mode,因此基本上忽略了以下行。

<transport clientCredentialType="None" /> 
+0

是的,我同意這一點。但在配置的上下文中,我提到了這是什麼意思是我的問題。 – ckv

+0

我已經更新了我的答案。 –

+0

是的,謝謝。現在它是有道理的。 – ckv

相關問題