当前位置: 首页 > 知识库问答 >
问题:

JMeter NTLM/Windows 身份验证负载测试

毕魁
2023-03-14

要做什么?

我们在 Sharepoint(企业)服务器上部署了一个应用程序,该应用程序使用 Windows 凭据登录到该应用程序。

>

  • 应用程序URL格式:http://testmachine:1000/sites/test/

    视窗凭据格式: user_id@domain.co.in

    目标是为如此数量的用户在应用程序上执行负载/性能测试(尤其是登录功能)。

    通常,当我在Firefox/IE中点击应用程序URL时,它会弹出一个窗口,要求提供凭据。我输入凭据,浏览应用程序,然后退出。我打算在JMeter中捕获这个,并为大量用户模拟这个。

    我被困在哪里了?

    现在我启动JMeter代理服务器,然后尝试与上面相同的步骤。但是当弹出窗口出现时,JMeter不会记录它,登录后也不会记录任何其他内容。

    我尝试过什么?

    如果我在IE中启用“自动检测内部网网络”后尝试相同的步骤,它会自动检测我的windows凭据(没有弹出凭据),让我登录应用程序(JMeter中也没有记录),并带我到主页。此后我点击的任何页面都会被记录在JMeter中。

    我还尝试使用以下参数来使用HTTP授权管理器:

    • BaseURL:超文本传输协议://testMachine: 1000/site/test/
    • 用户名:DOMAIN\USER_ID
    • 密码:i_wont_tell_you
    • 域名:\
    • 领域:

    这没有帮助。我对如何使用上述元素感到困惑。甚至不确定这是否是解决我问题的正确方法。

    有什么帮助/建议吗?

    附言。我知道一个叫Badboy的工具,但必须把它作为最后的资源。甚至不确定它是否记录了弹出窗口。如果帖子冗长,很抱歉。

    更新:

    我也试过-

    Username: USER_ID and Domain: my_company_domain
    

    但这不是实际问题。问题是,当我尝试点击我之前记录的页面(自动化)时,即使我没有使用HTTP授权管理器,也会返回成功响应。我不确定我错过了什么。

  • 共有2个答案

    宋俊民
    2023-03-14

    JMeter在HTTP层工作,因此代理只能捕获通过该协议层发出的请求。在我看来,您已经找到了正确的记录方法,通过使用IE中的“自动检测Intranet network”,您可以使用这种方法捕获大多数请求,并且您必须手动确定身份验证。如何做到这一点取决于您的应用程序如何与服务器通信以对用户进行身份验证。

    耿弘阔
    2023-03-14

    好的。最终我得到了我所缺少的。

    首先,我必须将每个请求的实现改为< code>HttpClient3.1

    其次,看到JMeter留档有误导性真的很令人沮丧。

    它说配置文件 httpclient.参数,应按如下方式进行编辑:

    http.authentication.preemptive$Boolean=false
    

    但是没有用。把它改成true非常管用。

    希望这能帮助其他人。

     类似资料:
    • 问题内容: 下面是我的AutoIt脚本(UI3_Authentication.au3),用于处理Windows身份验证弹出窗口。 以下是我对上述AutoIt exe文件的Selenium代码调用。 当我运行上述Selenium文件时,它将打开页面并弹出身份验证。但这不是在插入用户名和密码。它等待用户输入。 问题答案: 我解决了 其实这是我的坏事。以前,我的代码是这样的: 我在get()之前添加了a

    • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

    • 我的问题是,我们有一组运行SiteMinder但非常糟糕的遗留代码。它允许IIS匿名并避免使用Active Directory。 我们正在重建此应用程序,并希望将SiteMinder与IIS和集成。净额4.0。我知道我可以构建自己的安全框架,无需用户名和密码即可完成所有工作(因为我们不希望SiteMinder提供),但我想知道是否有办法使用内置的Windows身份验证(窗体或Windows)与Si

    • 我正在尝试编写一个简单的后端来访问我的Google Cloud Firestore,它位于Google Kubernetes引擎中。在我的本地计算机上,我使用以下代码对Firestore进行身份验证,详细内容见谷歌文档。 这将拉取GOOGLE_APPLICATION_CREDENTIALS环境变量,并用我的填充它,这是我通过使用角色创建服务号获得的。 所以,在本地,我的代码运行良好。我可以到达我的

    • 赛贝斯ASE版本15或以上,并使用ADO. net连接到赛贝斯。是否可以使用Windows身份验证登录到赛贝斯ASE?

    • 问题内容: 我正在开发Flask应用程序,并使用Flask-security进行用户身份验证(反过来又在下面使用Flask-login)。 我有一条需要身份验证的路由。我正在尝试编写一个单元测试,该测试对经过身份验证的用户返回适当的响应。 在单元测试中,我正在创建一个用户并以该用户身份登录,如下所示: 在测试内返回正确的用户。但是,请求的视图始终返回的。 所述路线定义为: 我可以肯定我只是不完全了