Java Kerberos身份验证

时间:2017-06-24 12:20:00

标签: java http kerberos

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

或者,您建议采用什么方法来执行此操作?

1 个答案:

答案 0 :(得分:0)

我找到了一种方法来做到这一点。

所以,这个SourceForge project可以实现Java中的集成Windows身份验证和授权#34;。如果服务器中有服务帐户,则可以在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的帮助:)