gpt4 book ai didi

java - 如何在通用应用程序中选择 NTCredentials 和 UsernamePasswordCredentials?

转载 作者:行者123 更新时间:2023-12-02 11:05:09 25 4
gpt4 key购买 nike

我正在开发一个应用程序,它使用 apache HttpClient 版本 4.5.2 支持基本和 NTLM 身份验证代理。用户界面当前不会询问用户代理中的身份验证类型,并且如果用户输入如下所示的域,则假定为 NTLM:

    Credentials credentials = null;
if (domain != null && domain.length() > 0) {
credentials = new NTCredentials(username, password, client, domain);
else {
credentials = new UsernamePasswordCredentials(username, password);
}

这种方法在大多数情况下都有效。但是,在 NTLM 代理服务器是工作组的一部分(而不是域的一部分)的一种部署中,域为空,并且根据上述逻辑,使用的凭据是 UsernamePasswordCredentials。由于代理支持 NTLM,并且需要有凭据才能成为 NTCredentials 的实例,因此请求失败。

有什么方法可以使此代码在作为工作组一部分的 NTLM 代理中像这样通用,而不询问用户身份验证类型吗?

最佳答案

无论相对端点是否属于 NT 域,都可以仅使用带有空域的 NTCredentials 作为唯一的凭据类型。

关于java - 如何在通用应用程序中选择 NTCredentials 和 UsernamePasswordCredentials?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51029822/

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