2011-12-22 34 views
0

我正在.NET 2.0上開發Visual Studio 2005中的Web應用程序項目,Web應用程序項目明顯確保了網頁和Web服務的安全。我也想保護Web服務。目前web.config中的身份驗證模式已設置爲表單,並且我爲此創建了自己的成員資格提供程序。Web Services web.config混合身份驗證模式

目標應用程序服務器是IIS 5.0,它被配置爲使用有效證書通過https工作,所以從技術上講,我所需要的只是Web服務來驗證某些硬編碼的字符串,以確保調用它們的系統是已知的,因爲它們操縱敏感數據。由於其通過安全通道,因此我不希望爲此Web服務身份驗證使用任何高級加密。作爲一個側面說明,預期的系統使用的Web服務是在Java中,而不是在.NET中。我真正想要的是我在Visual Studio的相同解決方案中實現這一目標的最佳方式。我不希望Web服務成爲一個單獨的項目。 (要求)

是在SOAP頭中使用流憑證的唯一解決方案嗎?

感謝,

卡爾·

回答

1

您可以配置要素添加到您的web.config與授權元素允許匿名用戶訪問Web服務,有效地繞過該服務的形式安全。然後你可以讓你的硬編碼字符串被接受爲你的方法的另一個參數。有關更多信息,請參閱location Element (ASP.NET Settings Schema)

你提到了硬編碼的字符串,所以我認爲你正在尋找將它傳遞給方法並運行無會話。給這篇文章看看.NET Web Services Security。您最感興趣的部分在第3頁。

理想情況下,您應該看看使用WCF更新到.NET 3.5或更高版本,但不要禁止這些是您的最佳投注。

+0

我不相信在每個方法調用中添加硬編碼字符串作爲參數是一種很好的做法。我希望能夠在更高級別處理安全性以避免重複代碼,但也許這只是沒有明顯原因的矯枉過正 – Stainedart 2011-12-23 15:46:34

+0

@CarlT。我已根據您的評論更新了新信息的答案。 – JamieSee 2011-12-28 17:56:50

相關問題