gpt4 book ai didi

java - 如何使用 Basic、Digest 和 NTLM/WindowsIdentity 获取 http 响应?

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:46 25 4
gpt4 key购买 nike

对此有很多答案( onetwothree ),但它们都使用过时的方法。对于 Java 1.7 及更高版本,当需要为 Basic、Digest、NTLM 和/或 Windows Identity 提供凭据时,通过 http 请求资源的最佳方式是什么?

为此使用 Apache 库就可以了。

我知道这是一个重复的问题,但现有答案似乎都使​​用过时的调用。

更新:这是我们拥有的一个库,用户可以将任何 URL 传递给我们并说它是任何不同的身份验证系统。该库由我们的用户添加到不同的应用程序中。因此,它可以是任何应用程序中使用的任何服务。它可以是 Web,也可以是 REST。它可以位于 Apache、WebLogic、WebSphere 或其他任何目录下。

最佳答案

您想要实现什么目标 - 没有一种 Elixir 适用于所有身份验证方法。最好的选择是使用一个完善的 HTTP 客户端框架(例如 http-client )和丰富的 authentication options 。还有其他几个,但我认为 apache HttpCompnents 是最可靠的之一(并且仍然免费)。

Apache HTTP commons 客户端应该可以与任何仅客户端身份验证(基本、摘要、NTLM(不是我最喜欢的))一起使用。大多数情况下,您会为 HTTP 上下文实现一个“CredentialProvider”(密码回调类),它将起作用。对于 Windows 身份(我假设您指的是 Kerberos/SPNEGO 身份验证),您将需要更多配置( key 表文件、jaas 配置等)。

通常,您应该坚持一些每个人都支持的通用标准,并尝试让其他人使用它(通过 TLS/SSL 进行基本身份验证应该没问题)。

您可能仍然遇到的是 - 使用不同的环境(WebSphere、WebLogic、其他应用程序)其他应用程序可能会强制您使用不同版本的 HTTP 客户端库或版本​​,并且您的配置将不适用于所有方法。因此,除非您不打算实现自己的 http 客户端(对于基本身份验证和摘要身份验证来说很简单),否则您将必须强制客户端使用具有特定版本的特定框架。

关于java - 如何使用 Basic、Digest 和 NTLM/WindowsIdentity 获取 http 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41201227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com