Java Kerberos身份验证
这可能是含糊不清的,但我不得不问。我想通过Java对Kerberized服务进行身份验证。如果我有krb5.conf和服务器的keytab文件,是否有任何特定的方法来执行此操作Java Kerberos身份验证,java,http,kerberos,Java,Http,Kerberos,这可能是含糊不清的,但我不得不问。我想通过Java对Kerberized服务进行身份验证。如果我有krb5.conf和服务器的keytab文件,是否有任何特定的方法来执行此操作 或者,您建议用什么方法来执行此操作?我想出了一种方法 因此,它支持“在Java中集成Windows身份验证和授权”。如果服务器中有服务帐户,则可以在Java代码中传递该凭据,并让服务器对您进行身份验证。在Maven有售- 示例代码供参考,取自 感谢您的帮助:)什么是“kerberized网络”?KerberosAgain
或者,您建议用什么方法来执行此操作?我想出了一种方法 因此,它支持“在Java中集成Windows身份验证和授权”。如果服务器中有服务帐户,则可以在Java代码中传递该凭据,并让服务器对您进行身份验证。在Maven有售- 示例代码供参考,取自
感谢您的帮助:)什么是“kerberized网络”?KerberosAgain保护的网络,这意味着什么?Kerberos允许通过不安全的网络对特定客户机和特定服务进行安全的相互身份验证(参见Wikipedia)。这与网络本身的安全无关,我一定很清楚。我正在尝试与受Kerberos保护的服务器通信。我想出了一个简单的方法。正如萨姆森指出的,OP指的是“Kerberized服务”,但写得不正确的是“Kerberized网络”。为了不让未来的读者感到困惑,我改变了问题中的措辞。
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();
}
}
}