2013-04-08 136 views
3

什麼是保護WCF服務的最佳方式?我應該向服務調用添加一個頭並在客戶端上有一個驗證頭的消息檢查器?什麼是保護WCF服務的最佳方式?

我需要確保該人提供正確的用戶名和密碼才能使用該服務,並且所有內容都已加密。它通過互聯網並將使用HTTP綁定。

+2

Internet或Intranet?什麼約束?你的服務有什麼安全需求? – 2013-04-08 20:24:35

回答

1

如果您僅限於HTTP,那麼它將會帶來性能上的提升,但更具可移植性。
但我認爲你可以使用WS-Security加密和保護HTTP。

傳輸和郵件安全模式

兩個主要機制來實現WCF傳輸安全:
傳輸安全模式和消息安全模式。

傳輸安全模式使用傳輸級協議(如HTTPS)來實現傳輸安全性。傳輸模式具有被廣泛採用的優點,可用於多種平臺,計算複雜度較低。但是,它具有僅從點對點保護消息的缺點。

另一方面,消息安全模式使用WS-Security(和其他規範)來實現傳輸安全性。由於消息安全性直接應用於SOAP消息,並且包含在SOAP信封中,並與應用程序數據一起使用,因此它具有獨立於傳輸協議,更具可擴展性以及確保端到端安全性(相對於點-to-點);它具有比傳輸安全模式慢數倍的缺點,因爲它必須處理SOAP消息的XML特性。

Selecting a Credential Type

How to: Authenticate with a User Name and Password

+0

如何使用用戶名和密碼來保護它。什麼是最好的方式來做到這一點? – 2013-04-08 20:59:19

+0

你只需用用戶名和密碼建立消息。我會查找一個鏈接。 – Paparazzi 2013-04-08 21:04:33

2

這取決於你的意思是「安全」。您可以從SSL(https)開始,如果要驗證客戶端,則可以使用身份驗證技術。你真的需要詳細說明你的目標...

+0

對不起,我的意思是,除非他們知道這樣做的憑據,否則任何人都不能撥打該服務。 – 2013-04-08 20:25:48

+0

消息標題將解決該問題 – HackyStack 2013-04-08 21:33:37

2

你應該看看this MSDN article,其中總結了選項。

就像一個典型的Web應用程序,你有多種方法來確保網站:

  1. 傳輸安全(SSL)
  2. 信息安全(信息安全頭)
  3. 交通運輸與消息憑據(組合)

答案取決於您需要爲您的應用程序使用何種安全級別。在很多情況下,運輸安全可能就足夠了。

相關問題