LoadRunner 的 web_set_user 函数

[不指定 2007/09/03 13:59 | by ipaddr ]

不少使用IIS或是windows域的环境中,在访问某个页面时,系统会弹出一个对话框要求用户输入域用户名称和口令,输入正确的与用户名称和口令才能继续。在使用LoadRunner对这种类型的网站进行测试时,录制下来的脚本在回放时通常都会在访问特定页面时给出一个401 Authorized require的错误信息。

其实,在LoadRunner中,有一个专门的函数 web_set_user 可以实现输入windows认证信息。

web_set_user()函数带三个参数,分别是 域用户名、口令和需要登录的服务器名称和端口,第一个参数需要注意的是一定要带上域名,其格式为\\windomainname\username,而最容易混淆的莫过于第三个参数了。特别需要注意的是,第三个参数是“需要认证的服务器名:端口”,假设你要访问的web url 是 http://requireauth/login.asp,则第三个参数应该是“requireauth:80”,有些朋友错误的写成“http://requireauth:80”或是“requireauth/login.asp:80”,都是不正确的。

最后,知其然,知其所以然。web_set_user函数的原理并不复杂,简单的说,就是通过NTLM协议发送了一些数据包给服务器而已。关于NTLM的更详细的内容,提供两份参考文献:

http://www.innovation.ch/personal/ronald/ntlm.html
http://davenport.sourceforge.net/ntlm.html

About  jCIFS

[不指定 2007/09/03 13:56 | by ipaddr ]

jCIFS是一个完全用Java开发的SMB客户端库。它紧密地遵循CIFS规范(是Microsoft Windows平台标准文件共享协议),支持Unicode,命令管道,批处理,线程化调用者的IO复用,加密认证,完整事务,域/工作组/主机/共享/文件枚举,NetBIOS 套接字和名称服务,smb:// URL协议处理器,一个类API的java.io.File ,RAP调用,NTLM HTTP鉴别。它广泛用于企业内部网络。

JCIFS: The Java CIFS Client Library
http://jcifs.samba.org/

很多公司都希望WEB登陆与域用户结合起来,实现单点登陆,使用jcifs.jar可以非常好实现,下载一个最新的jcifs.jar,放到WEB-INFlib下面,现在是1.27版,然后修改web.xml,加入下面:

<filter>
<filter-name>NtlmHttpFilter</filter-name>
<filter-class>jcifs.http.NtlmHttpFilter</filter-class>
<init-param>
<param-name>jcifs.http.domainController</param-name>
<param-value>192.168.0.90</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>NtlmHttpFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

192.168.0.90是你AD服务器,然后在你的登陆的代码中使用
request.getRemoteUser(),就可以得到当前域用户的用户名了

分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]