使用 Java 在 Linux 上运行的 KERBEROS 识别 http 请求

Identifying http request with KERBEROS from Java runing on Linux

我有一些同时包含 Linux 和 Windows 服务器的环境。身份验证由 Kerberos 处理。我想制作一些 JAVA 代码,自动验证它发出的 http 请求是由执行程序的登录用户完成的。

例如,如果我有这个代码:

CloseableHttpClient winHttpclient = WinHttpClients.createDefault();

HttpGet httpget = new HttpGet("http://mykerberos/endpoint");

winHttpclient.execute(httpget).getEntity();

当我从 windows 执行它时,它开箱即用。我被 http://mykerberos/endpoint 识别并得到响应。

现在,我想在 Linux 服务器上做同样的事情。 我找到了一些提案,例如 https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/lab/part6.html#Proxy_Authentication,但这不是我要找的,因为它需要我的凭据:来自 Windows,我什至不必通过它们。

有人知道我该怎么做吗?

在此先感谢您的帮助!

以下 https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/lab/part6.html 在使用 Java 的正确版本时工作正常(它适用于 java 8 但不适用于 java 6)。