使用SoapUI测试windows身份验证的webservice
有个朋友问到用soapui测试wcf服务时如果使用windows身份验证要怎么传输凭据,于是自己试了一下。其实服务端是wcf还是webservice还是webapi都无所谓,关键是windows身份验证的凭据在哪里设置。手头上恰好有一个使用windows身份验证的站点,在浏览器上访问成功时,大约是这样子的页面:
然后在soapui里建一个工程访问一下,返回结果是这样的:
然而在凭证设置面板上并没有看到NTLM类型。找了一下资料,这贴帖子上已经有人回复了:
总结一下有几点:
1、4.5版本之前是不支持的;
2、可以使用Burp Suite做个代理;
3、在受支持的版本里可以启用“Adds authentication information to outgoing request”这个选项,就可以看到NTLM类型的验证了;
由于我使用的是5.0版本,自然首选是尝试自带的功能而不是挂代理。找了一下这个选项在File -> Preferences这个菜单下:
启用这个选项后,回到authorization配置面板,就可以看到NTLM了,增加一项NTLM验证,输入windows账户、密码、域名(如果是工作组电脑则域名为电脑的机器名),发起一下请求,就可以看到验证通过的返回结果了: