2

寻找有关如何让 HttpClient (httpclient 4.3.6) 向 IIS REST 服务验证当前用户的指针。

我可以使用 UrlConnection 连接没有问题,因为它似乎可以开箱即用地处理 WWW-Authentication 协议。

我已经转移到 HttpClient 以利用多部分 POST/PUT (FileEntity) 并且我发现 HttpClient 不处理 WWW-Authentication,它只是以 401 失败,这是该过程的第一部分。

我发现了一些提供 NTLM 凭据等的示例……但我不想捕获凭据,我想使用当前的 Windows 身份执行请求。

是否有一些代码或 API 可以用来代表我进行管理?我不想捕获用户名和密码,我只想提供当前用户凭据。我需要使用像 SPNEGO 这样的 3rd 方库吗?

提前谢谢了

4

1 回答 1

2

您可能想试用 HttpClient 4.4(即将作为 GA 发布)。在 Windows 操作系统上运行时,它通过 JNA 通过 SSPI 支持本机 Windows Negotiate、Kerberos 和 NTLM。请注意,此功能仍被认为是实验性的。你的旅费可能会改变。

http://hc.apache.org/httpcomponents-client-4.4.x/httpclient-win/examples/org/apache/http/examples/client/win/ClientWinAuth.java

于 2015-01-22T10:16:18.747 回答