2010-01-15 170 views
1

我正在構建一個Web服務,需要可以訪問各種潛在的平臺,包括一些較舊的ASP和ASP .NET應用程序。經過一番研究,我決定使用REST(webHttpBinding)和SOAP(wsHttpBinding)端點來實現WCF服務(這樣,我可以支持多種平臺,並且仍然使.NET編碼器感到開心)。WCF與Http基本身份驗證

爲了安全起見,我對我自己的用戶名/密碼數據庫使用SSL和HTTP身份驗證基本。所以我寫了一個HttpModule來處理用戶名和密碼並檢查SSL。現在,REST設置完美運行,但我遇到了SOAP端點的問題。無論我使用什麼設置,SOAP客戶端都不會向我發送可用於驗證的WWW授權標頭。我假設像<message clientCredentialType="UserName" />這樣的設置應該告訴WCF我期望授權標頭,並且該信息將在Visual Studio(或任何客戶端)創建Web引用時被拾取。也許我只是無望地天真。

所以總結一下這個問題:有沒有什麼辦法可以告訴WCF發送WWW-Authorization頭文件(即HTTP基本頭文件)以及soap消息?

回答

2

您可以爲您的身份驗證創建自定義標頭。

看一看here

+0

嗯,如果是複雜的,我的客戶將不得不應對的水平,我想我可能會更好下降SOAP支持,給他們包了REST一些API的DLL調用。在我的情況下,擁有SOAP端點的關鍵是讓客戶的生活更輕鬆(即,他們所要做的就是添加一個webreference)=) – Badjer 2010-01-15 22:52:54