2009-05-27 113 views
42

是否可以包含Windows域憑據以使用SOAP UI測試我的Web服務?使用SoapUI和Windows身份驗證測試Web服務

我發現了一個屬性頁面,但IIS只是以「錯誤憑據」響應。

+1

BurpSuite ProVersion有「做WWW認證」區域,而不是免費贈送的版本。 :( – 2010-05-27 22:16:58

+1

的soapUI並原生支持NTLMv1身份,但由於許多新的基於NTLM的安裝需要進行NTLMv2這是一個偉大的解決辦法,感謝張貼!/ OLE eviware.com – olensmar 2010-03-19 11:22:03

回答

57

了SoapUI似乎並沒有直接與NTLM身份驗證工作,但是您可以使用代理(如Burp Suite)爲您執行身份驗證。

  1. http://portswigger.net/burp/下載Burp套件並啓動它。
  2. 打開Burp的「Proxy:Intercept」標籤,點擊按鈕關閉攔截。
  3. 在打嗝的「代理:選項」選項卡,確保它被設置爲未使用的端口,默認爲8081
  4. 在打嗝的「選項」標籤,勾選「做WWW認證」,並添加一個設置爲你希望服務器打。同時勾選「提示輸入身份驗證失敗時的憑據」
  5. 切換到Burp的「代理:歷史記錄」選項卡,以便您可以查看要通過的請求。
  6. 在SoapUI中,選擇「文件」>「首選項」,然後選擇「代理設置」。輸入主機「localhost」和端口「8081」。
  7. 正常使用SoapUI。它將通過Burp Proxy發送請求,Burp Proxy將爲您執行NTLM身份驗證。
+0

感謝您的答覆。這爲我工作來查詢SharePoint列表通過 – 2010-02-05 18:18:02

+1

的soapUI,沒有「通訊」式標籤打嗝的當前版本。 – 2010-05-06 14:37:02

12

soapUI 4.5剛剛添加了對NTLMv2的支持,它不需要Burp套件。

3

接受的解決方案將在大多數情況下工作。但是,如果該服務使用委派來訪問其他服務器上的資源,則您將遇到Burp代理使用的NTLM身份驗證的雙跳問題。該代理將成功驗證該服務,但該服務使用委派對其他資源進行的後續調用將失敗。

問題這篇文章中很好地描述:

http://blogs.msdn.com/b/besidethepoint/archive/2010/05/09/double-hop-authentication-why-ntlm-fails-and-kerberos-works.aspx

我發現最簡單的解決方法是使用Fiddler作爲代理。在Fiddler的規則菜單上,選擇「自動驗證」。然後更新您的SoapUI首選項以使用fiddler作爲代理(默認位置是localhost:8888)。現在您的電話將被包裹在一個可以委派的憑證中。

如果使用LoadUI執行你了SoapUI測試用例,soapUI的測試運行器將使用了SoapUI代理設置,您的通話將繼續工作。