Java Kerberos 身份验证

标签 java http kerberos

这可能含糊不清或模棱两可,但我不得不问。我想通过 Java 对基于 Kerberos 的服务进行身份验证。如果我有 krb5.conf 和服务器的 key 表文件,是否有任何特定的方法来执行此操作?

或者,您会推荐什么方法来执行此操作?

最佳答案

我想出了一个办法来做到这一点。

所以,有这个 SourceForge project启用“Java 中的集成 Windows 身份验证和授权”。如果您在服务器中有一个服务帐户,您可以在 Java 代码中传递该凭据并让服务器对您进行身份验证。它在 Maven 中可用 - Spnego Maven Dependency

供引用的示例代码,取自Spnego API Docs

public static void main(final String[] args) throws Exception {
         System.setProperty("java.security.krb5.conf", "krb5.conf");
         System.setProperty("sun.security.krb5.debug", "true");
         System.setProperty("java.security.auth.login.config", "login.conf");

         SpnegoHttpURLConnection spnego = null;

         try {
             spnego = new SpnegoHttpURLConnection("spnego-client", "username", "password");
             spnego.connect(new URL("http://medusa:8080/index.jsp"));

             System.out.println(spnego.getResponseCode());

         } finally {
             if (null != spnego) {
                 spnego.disconnect();
             }
         }
     }

感谢Arunav Sanyal寻求帮助:)

关于Java Kerberos 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44736300/

相关文章:

java - "Defective token detected"错误(NTLM 不是 Kerberos)与 Kerberos/Spring Security/IE/Active Directory

java - 我的 ListView 没有填充父项

Java 正则表达式使用变量输入和字符串输入给出不同的结果

java - Android - 使用事件创建自定义日历

asp.net - 什么是用于性能测试网页/网站的好工具或网站?

java - 在 Android 中使用 POST 方法发送参数

angular - 连续休息 API http 调用 Angular 4

java - 当我只能使用打印方法时,为什么 PrintWriter 经常与 FileOutputStream 一起使用

python - 如何使用 python suds 客户端进行 kerberos 身份验证

java - Camel-Kafka 安全协议(protocol) SASL_PLAINTEXT 不支持