0

全部:

- 更新 -

客户端机器和运行受保护资源的机器在同一个域中,登录用户可以使用其用户名/密码访问资源。

当使用 httpclient 访问内网中受保护的 web 资源时,我们可以提供 NTCredentials 与 windows 用户/密码和域名。但是有没有办法在这台机器上获取当前登录用户的默认 Windows 用户/密码和域名。所以不需要向用户询问用户的 NTCredentials,我们可以使用用户登录的 NTCredentials 来访问受保护的资源。

URLConnection 可以成功访问资源:当 URLConnection 收到第一次请求的未授权错误 401,并且检测到远程服务器支持 nltm 时,URLConnection 将创建一个令牌并添加 http 头,如:Authorization: NTLM TlRMTVNTUAABAAAAB7IIogwA。那么请求就会成功。

我想知道我们是否可以使用 httpclient 来做到这一点?httpclient 可以使用登录用户信息自动添加授权令牌吗?

非常感谢您的任何回复和帮助。

4

1 回答 1

1

Oracle 的 HttpURLConnection 实现通过 JNI 使用本地 Windows 操作系统特定功能,以便访问当前用户安全上下文。也可以对 HttpClient 使用相同的技术,但它会使其依赖于 Oracle 的 JRE 实现和 Windows 安全 API。

于 2013-04-06T11:50:42.603 回答