2011-03-24 29 views
3

我們有一些現有的Web服務需要某種基本的安全措施,以防止未經授權的第三方對服務進行調用。有沒有辦法在不修改服務方法的情況下保護Web服務?

如果可能,最好避免必須更改服務。就像向服務方法中添加額外的參數來爲每個調用傳遞一個令牌一樣。

一個想法(如果可能的話)是有一個IIS模塊攔截對服務的所有調用並檢查令牌的標頭。當令牌正確時,它讓請求通過或以其他方式取消它。這樣,一旦我們給他們的密鑰,第三方只需要傳遞一個額外的http頭字段,我們根本不需要改變服務。

這就提出了一個問題:

它甚至有可能與被管理的IIS模塊來做到這一點? (如果需要,還可以不管理)。如果是這樣,在使用Visual Studio中的WCF或Web引用連接到Web服務時,傳遞額外的頭字段有多難。

如果有其他選項我想要聽到他們,如果他們符合我的要求。謝謝。

回答

1

您可以使用基本/摘要/ Windows身份驗證。你可以在IIS中設置它。這是相當微不足道的使用。微軟有一個run-through post on this here。這很容易在Visual Studio中設置。

更深入的信息和step-by-step instructions in this 15 seconds article關於使用此方法保護Web服務。

這些都不需要您更改Web服務本身。但這些只提供基本的安全性。正如另一位用戶所建議的那樣,使用SSL可以提供更高級別的安全性,但要求Web服務在其自己的(子)域或應用程序中運行。

如果您最終確實考慮更改您的Web服務併爲其添加身份驗證,請考慮閱讀this CodeProject article

相關問題