2009-05-27 115 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代理设置,您的通话将继续工作。