JMeter调用受kerberos保护的rest api失败(通过IE浏览器工作)

时间:2019-03-01 21:51:36

标签: rest jmeter kerberos

使用JMeter在受Kerberos(活动目录)保护的rest api上执行get请求。 API可在Internet Explorer中运行,无法在Chrome中运行,而在JMeter中无法运行。

第一个请求得到401响应(预期如此)

这是第二个请求。看起来它具有Kerberos身份验证令牌:

连接:保持活动状态 接受语言:美国 内容类型:application / json; odata = verbose 语法:无缓存 接受编码:gzip,放气 用户代理:Mozilla / 5.0(Windows NT 10.0; WOW64; Trident / 7.0; rv:11.0),如Gecko 接受:application / json; odata = verbose 授权:协商YIIFwwYGK(...我剪短了)

响应: 标题: HTTP / 1.1 500内部服务器错误 缓存控制:无缓存 语法:无缓存 内容类型:application / json;字符集= utf-8 过期:-1 服务器:Microsoft-IIS / 10.0 X-AspNet版本:4.0.30319 持久验证:true X-Powered-by:ASP.NET 日期:2019年3月1日星期五20:52:42 GMT 内容长度:3231

身体开始: {“ Message”:“发生错误。”,“ ExceptionMessage”:“远程服务器返回错误:(401)未经授权。”,“ ExceptionType”:“ System.Net.WebException”,“ StackTrace”:“

有人对如何在JMeter中实现此请求有想法吗?

是否可以设置客户端设置或服务器设置以使其余api在chrome或JMeter上正常工作?

谢谢。

1 个答案:

答案 0 :(得分:0)

您需要将HTTP Authorization Manager添加到您的测试计划中,并将其配置为使用您的域凭据,还要指定Domain and Realm

此外,您将需要修改krb5.conf,在某些情况下还需要修改jaas.conf文件以匹配您的基础结构设置。

查看Windows Authentication with Apache JMeter文章,了解如何在JMeter测试中绕过Kerberos登录挑战。