From 3d7c0365bd7b7a225ec0d78e508d949f4cfb073d Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Thu, 26 Feb 2015 11:42:26 +0000 Subject: [PATCH] Trying to fix localhost hostname usage - Created principal needs to match resolved hostname so trying to add a tweak to make it happen. --- .../kerberos/client/KerberosRestTemplateTests.java | 8 +++++--- .../security/extensions/kerberos/test/MiniKdc.java | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/spring-security-kerberos-client/src/test/java/org/springframework/security/extensions/kerberos/client/KerberosRestTemplateTests.java b/spring-security-kerberos-client/src/test/java/org/springframework/security/extensions/kerberos/client/KerberosRestTemplateTests.java index 3b4f164..2f29c8f 100644 --- a/spring-security-kerberos-client/src/test/java/org/springframework/security/extensions/kerberos/client/KerberosRestTemplateTests.java +++ b/spring-security-kerberos-client/src/test/java/org/springframework/security/extensions/kerberos/client/KerberosRestTemplateTests.java @@ -24,6 +24,7 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import java.net.InetAddress; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -69,12 +70,13 @@ public class KerberosRestTemplateTests extends KerberosSecurityTestcase { MiniKdc kdc = getKdc(); File workDir = getWorkDir(); + String host = InetAddress.getLocalHost().getHostName(); - String serverPrincipal = "HTTP/localhost"; + String serverPrincipal = "HTTP/" + host; File serverKeytab = new File(workDir, "server.keytab"); kdc.createPrincipal(serverKeytab, serverPrincipal); - String clientPrincipal = "client/localhost"; + String clientPrincipal = "client/" + host; File clientKeytab = new File(workDir, "client.keytab"); kdc.createPrincipal(clientKeytab, clientPrincipal); @@ -90,7 +92,7 @@ public class KerberosRestTemplateTests extends KerberosSecurityTestcase { KerberosRestTemplate restTemplate = new KerberosRestTemplate(clientKeytab.getAbsolutePath(), clientPrincipal); - String response = restTemplate.getForObject("http://localhost:" + port + "/hello", String.class); + String response = restTemplate.getForObject("http://" + host + ":" + port + "/hello", String.class); assertThat(response, is("home")); } diff --git a/spring-security-kerberos-test/src/main/java/org/springframework/security/extensions/kerberos/test/MiniKdc.java b/spring-security-kerberos-test/src/main/java/org/springframework/security/extensions/kerberos/test/MiniKdc.java index 999afda..78571de 100644 --- a/spring-security-kerberos-test/src/main/java/org/springframework/security/extensions/kerberos/test/MiniKdc.java +++ b/spring-security-kerberos-test/src/main/java/org/springframework/security/extensions/kerberos/test/MiniKdc.java @@ -251,6 +251,7 @@ public class MiniKdc { for (Map.Entry entry : conf.entrySet()) { LOG.info(" {}: {}", entry.getKey(), entry.getValue()); } + LOG.info(" localhost hostname: {}", InetAddress.getLocalHost().getHostName()); LOG.info("---------------------------------------------------------------"); this.conf = conf; port = Integer.parseInt(conf.getProperty(KDC_PORT));