From 5e63bc6be8f240a4a8f9626ed71a34d4d4885c10 Mon Sep 17 00:00:00 2001 From: Rob Winch <362503+rwinch@users.noreply.github.com> Date: Wed, 22 May 2024 14:47:07 -0500 Subject: [PATCH] Polish SunJassKrb5LoginConfig !useTicketCache The assertion of keyTabLocation should be independant of initializing the keyTabLocation. --- .../kerberos/client/config/SunJaasKrb5LoginConfig.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-security-kerberos-client/src/main/java/org/springframework/security/kerberos/client/config/SunJaasKrb5LoginConfig.java b/spring-security-kerberos-client/src/main/java/org/springframework/security/kerberos/client/config/SunJaasKrb5LoginConfig.java index 005245c..225c02d 100644 --- a/spring-security-kerberos-client/src/main/java/org/springframework/security/kerberos/client/config/SunJaasKrb5LoginConfig.java +++ b/spring-security-kerberos-client/src/main/java/org/springframework/security/kerberos/client/config/SunJaasKrb5LoginConfig.java @@ -74,8 +74,11 @@ public class SunJaasKrb5LoginConfig extends Configuration implements Initializin LOG.warn("Your keytab is in the classpath. This file needs special protection and shouldn't be in the classpath. JAAS may also not be able to load this file from classpath."); } - if (!useTicketCache || keyTabLocation != null) { + if (!useTicketCache) { Assert.notNull(keyTabLocation, "keyTabLocation must be specified when useTicketCache is false"); + } + + if (keyTabLocation != null) { keyTabLocationAsString = keyTabLocation.getURL().toExternalForm(); if (keyTabLocationAsString.startsWith("file:")) { keyTabLocationAsString = keyTabLocationAsString.substring(5);