2009-10-06 106 views
0

我需要保護我的WCF Web服務,並想到做到這一點的最佳方式是什麼。它不是真正的角色/用戶情況 - 更多的是「誰可以致電WEB服務」。推薦使用IP保護Web服務(WCF)的方法?

我在想我可以使用IP?這是推薦的方式嗎?

任何人都有這方面的經驗,我正在考慮有一個表(SQL)與所有可以訪問Web服務的IP,但我不想重新發明輪子,如果已經存在的東西。

我認爲有一個事件或類似的時候有人訪問Web服務,所以我可以檢查那裏的IP? - 有人有個例子嗎?

我想這可以用標準的HTTP綁定來完成?

我將不勝感激任何輸入任何人有

+0

這實際上取決於您的服務對象是誰可以/不可以訪問的標準,您打算如何管理它,以及您是否必須處理可能具有動態IP地址的人(又稱爲家庭用戶) 。 – Artelius 2009-10-06 09:09:49

+0

不,它不會是家庭用戶即。動態Ips ...它是直接客戶與專用服務器,需要呼叫,因此IP將永遠是相同的。 – 2009-10-06 15:09:12

+0

@mark:知識產權將是相同的 - 直到它發生變化。例如,網絡人員可能會決定更改子網範圍。依靠IP地址進行授權決定是一種糟糕的做法。 – 2009-10-07 04:47:02

回答

3

使用服務行爲可以很容易地限制主叫IP在你的服務。

有一個很好的CodeProject article包括顯示如何做到這一點的源代碼。由於它是WCF和WCF行爲,因此它也是可插入的 - 您可以根據需要將其從服務中添加或刪除。

Marc

1

真的取決於服務的安全級別。 IP地址本身很容易被知識淵博的來電者欺騙,所以如果它是一個處理敏感信息的服務,我會推薦一些難以破解的東西,比如帶有客戶端證書的傳輸安全(如SSL)。很好的WCF支持,並不像你想象的那樣可怕或昂貴,特別是如果你同時控制客戶端和服務器(這樣你可以配置客戶端忽略證書的「信任」狀態,所以你不必購買商業服務器證書)。