【发布时间】:2012-01-09 04:09:59
【问题描述】:
我已经看到几个 JMeter 线程涉及我的问题,但似乎没有一个可以解决我的具体问题。
问题是 - 我正在测试的网站是这样工作的:
- 带有登录字段和提交按钮的主页。当你第一次 在浏览器中浏览到该页面,设置了一个 PHPSESSID cookie(在响应标头中) 唯一值,用于标识会话。
- 当用户点击登录按钮时(用户名和密码在 此页面与系统当前状态无关),网络 服务器通过 shibboleth 重定向到运行 LDAP 的不同服务器。 Shibboleth 需要 PHPSESSID cookie 的值才能继续。 (以验证用户来自正确的联合服务器)。
- 然后用户输入他们的帐户用户名和密码,然后单击 登录按钮。
- (有效)帐户已登录到 LDAP 服务器;如果帐户 在原始 (1) 服务器上不存在,然后 shibboleth 映射 LDAP 字段转移到原始服务器上的帐户数据库。 然后用户登录到原来的服务器(1)到 新创建的帐户,并重定向到原始页面。
还交换了一些其他 SAML 数据 - 我认为这不会成为问题。 . .到目前为止,问题似乎是这个cookie。
JMeter 倒下的地方,在第 2 步。
- 如果我没有设置 cookie 管理器,LDAP 服务器会说我没有 启用 cookie。 (此错误在响应数据中)。
- 如果我设置了 HTTP cookie 管理器,但没有指定 PHPSESSID cookie, LDAP 服务器说我没有启用 cookie。 (我将其设置为哪个 Cookie 策略并不重要)
- 如果我指定 PHPSESSID cookie 值 - 当然,每个用户都需要 有一个独特的价值,所以这是错误的。 . .所以我设置了一个 初始页面的 RegExp 后处理器,用于提取 PHPSESSID 请求标头中的值,并将其放入变量中 ${PHPSession} 然后我在 HTTP Cookie 管理器中为 PHPSESSID cookie,属于 ${PHPSession} 。 . .从字面上看,在 标头,** 事物提交“Cookie:PHPSESSID=${PHPSession}”
那么,我读到了这个。 . . https://issues.apache.org/bugzilla/show_bug.cgi?id=28715
实际上,(意译)“......cookie 管理器不扩展用户变量......”然后“......好吧,我们修复了它......它确实扩展了用户变量......”然后“......好吧,不,不在那个领域,它不是为了做那个而设计的。”
所以...基本上,他们的意思是,HTTP Cookie 管理器无法管理对每个用户都具有唯一值的会话 cookie。 (尽管这就是我认为的全部目的)。
我还能如何为从第一个响应标头中提取值的每个用户设置和提交唯一的 cookie?
【问题讨论】:
-
在sqa.stackexchange.com 上提问 sqa 问题以获得更好的答案。这里没有足够的专业知识。
标签: session-cookies jmeter shibboleth