java - httpclient 可以使用当前登录用户自动创建授权 header 作为 java URLConnection 吗?

标签 java httpclient apache-httpclient-4.x apache-httpcomponents

全部:

--更新--

客户端计算机和运行 protected 资源的计算机位于同一域中,登录用户可以使用其用户名/密码访问该资源。

当使用httpclient访问内网中 protected Web资源时,我们可以向NTCredentials提供Windows用户/密码和域名。 但是有没有办法获取 native 当前登录用户的默认 Windows 用户/密码和域名。 因此不需要向用户询问用户的NTCredentials,我们可以使用用户登录的NTCredentials来访问 protected 资源。

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

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

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

最佳答案

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

关于java - httpclient 可以使用当前登录用户自动创建授权 header 作为 java URLConnection 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15792166/

相关文章:

ssl - HttpClient 4.5.2 - SSL 证书问题

java - SSLPeerUnverifiedException : peer not authenticated WITH VALID CERTIFICATE

java - 如何确定文件已成功写入?

c# HttpClient上传文件到spring rest服务

android - 如何获取 HTTPResponse 的 URL

android - 从互联网获取数据时应用卡住

java - 将 Curl 命令转换为 Java/Android

java - 使用 java.lang.Runtime.getRuntime 在 matlab 中调用多个 python 脚本实例不起作用

java - 在 Selenium 中,我可以在鼠标悬停操作后执行 getCSSValue ("color")

java - Hibernate 事务管理比较