使用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上正常工作?
谢谢。
答案 0 :(得分:0)
您需要将HTTP Authorization Manager添加到您的测试计划中,并将其配置为使用您的域凭据,还要指定Domain and Realm。
此外,您将需要修改krb5.conf
,在某些情况下还需要修改jaas.conf
文件以匹配您的基础结构设置。
查看Windows Authentication with Apache JMeter文章,了解如何在JMeter测试中绕过Kerberos登录挑战。