java - 如何在 JAVA 中的 HTTP post 中传递当前的 Windows 用户凭据?

标签 java authentication credentials apache-commons-httpclient

我有一个 Java 程序,需要向需要身份验证的 URL 发布帖子。我不想指定硬编码的用户名和密码,我只想使用运行 Java 程序的用户的凭据。

我已经浏览了不同的 HTTPClient 类并下载了 Waffle。我只是找不到正确的组合来提取当前的 Windows 用户凭据并将其传递给发布请求。

此代码有效:

NTCredentials creds = new NTCredentials("user", "pass", "host", "domain");
HttpCLient client = new HttpClient;
HttpClient.getState().setCredentials(AuthScope.ANY, creds);

当我发帖时,我收到了 200 条回复。我该如何做同样的事情,但不是从硬编码值构建 NTCredentials,而是传递运行 java 程序的用户的凭据?

我尝试过华夫饼:

WindowsSecurityContextImpl context = new WindowSecurityContextImpl;
System.out.println(context.getPrincipalName());

我可以检索 Windows 用户名。但我找不到将实际凭据传递给 HttpClient 的方法。

谢谢。

最佳答案

无法找回密码。最多只能获取用户名,您已经这样做了。 对于您的情况,如果需要 API 身份验证,API 应该有一个具有可用于访问服务的轮换密码的 API 用户。 如果访问需要用户特定的凭据,则在系统进一步执行工作流程之前,必须提示登录用户(再次)提供密码

关于java - 如何在 JAVA 中的 HTTP post 中传递当前的 Windows 用户凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56498731/

相关文章:

java - ApacheKafka Appender 回退

javax.comm.CommPortIdentifier.getPortIdentifiers() 在运行 Debian 6 的设备上为空

python - Django Rest 框架 JWT "Authentication credentials were not provided."}

python - from django.contrib.auth.models import User 与将用户foreignKey定义为owner = models.ForeignKey ('auth.User' )

javascript - Access-Control-Expose-Headers 不允许 JS 客户端读取 cookie

java - 正则表达式模式表达式

Java - 如何检查除法是整数还是 float ?

amazon-web-services - 如何在Jenkins作业DSL中加载AWS凭证?

c++ - LogonUser 为错误的密码返回 true

c++ - 在 'Other user' 磁贴上显示 V2 凭据提供程序