From a0e6c1751245c8f16ac144bffaf39fc041ef5a9e Mon Sep 17 00:00:00 2001 From: Marcus Hert Da Coregio Date: Mon, 9 Sep 2024 08:32:40 -0300 Subject: [PATCH] Do not log exception if CasJackson2Module is not present Closes gh-15749 --- .../security/jackson2/SecurityJackson2Modules.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/springframework/security/jackson2/SecurityJackson2Modules.java b/core/src/main/java/org/springframework/security/jackson2/SecurityJackson2Modules.java index d5eaf6e293..5b99377b72 100644 --- a/core/src/main/java/org/springframework/security/jackson2/SecurityJackson2Modules.java +++ b/core/src/main/java/org/springframework/security/jackson2/SecurityJackson2Modules.java @@ -75,7 +75,6 @@ public final class SecurityJackson2Modules { private static final List securityJackson2ModuleClasses = Arrays.asList( "org.springframework.security.jackson2.CoreJackson2Module", - "org.springframework.security.cas.jackson2.CasJackson2Module", "org.springframework.security.web.jackson2.WebJackson2Module", "org.springframework.security.web.server.jackson2.WebServerJackson2Module"); @@ -89,6 +88,15 @@ public final class SecurityJackson2Modules { private static final String saml2Jackson2ModuleClass = "org.springframework.security.saml2.jackson2.Saml2Jackson2Module"; + private static final String casJackson2ModuleClass = "org.springframework.security.cas.jackson2.CasJackson2Module"; + + private static final boolean casJacksonPresent; + + static { + ClassLoader classLoader = SecurityJackson2Modules.class.getClassLoader(); + casJacksonPresent = ClassUtils.isPresent(casJackson2ModuleClass, classLoader); + } + private SecurityJackson2Modules() { } @@ -140,6 +148,9 @@ public final class SecurityJackson2Modules { if (ClassUtils.isPresent(saml2Jackson2ModuleClass, loader)) { addToModulesList(loader, modules, saml2Jackson2ModuleClass); } + if (casJacksonPresent) { + addToModulesList(loader, modules, casJackson2ModuleClass); + } return modules; }