diff --git a/core/src/main/java/org/springframework/security/core/SpringSecurityCoreVersion.java b/core/src/main/java/org/springframework/security/core/SpringSecurityCoreVersion.java index df61424bfb..5d437cb0fe 100644 --- a/core/src/main/java/org/springframework/security/core/SpringSecurityCoreVersion.java +++ b/core/src/main/java/org/springframework/security/core/SpringSecurityCoreVersion.java @@ -23,8 +23,6 @@ public class SpringSecurityCoreVersion { */ public static final long SERIAL_VERSION_UID = 320L; - static final String SPRING_MAJOR_VERSION = "3"; - static final String MIN_SPRING_VERSION = "3.2.4.RELEASE"; static { @@ -49,18 +47,20 @@ public class SpringSecurityCoreVersion { } logger.info("You are running with Spring Security Core " + version); - if (!springVersion.startsWith(SPRING_MAJOR_VERSION)) { - logger.warn("*** Spring Major version '" + SPRING_MAJOR_VERSION + - "' expected, but you are running with version: " + springVersion + - ". Please check your classpath for unwanted jar files."); - } - if (springVersion.compareTo(MIN_SPRING_VERSION) < 0) { logger.warn("**** You are advised to use Spring " + MIN_SPRING_VERSION + " or later with this version. You are running: " + springVersion); } } + /** + * Disable if springVersion and springSecurityVersion are the same to allow + * working with Uber Jars. + * + * @param springVersion + * @param springSecurityVersion + * @return + */ private static boolean disableChecks(String springVersion, String springSecurityVersion) { if(springVersion == null || springVersion.equals(springSecurityVersion)) { return true; diff --git a/core/src/test/java/org/springframework/security/core/SpringSecurityCoreVersionTests.java b/core/src/test/java/org/springframework/security/core/SpringSecurityCoreVersionTests.java index 5eaf453922..f741bd0597 100644 --- a/core/src/test/java/org/springframework/security/core/SpringSecurityCoreVersionTests.java +++ b/core/src/test/java/org/springframework/security/core/SpringSecurityCoreVersionTests.java @@ -17,6 +17,7 @@ package org.springframework.security.core; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.any; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; @@ -24,7 +25,9 @@ import static org.powermock.api.mockito.PowerMockito.spy; import static org.powermock.api.mockito.PowerMockito.when; import org.apache.commons.logging.Log; -import org.junit.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.powermock.core.classloader.annotations.PrepareForTest; @@ -113,6 +116,18 @@ public class SpringSecurityCoreVersionTests { verify(logger, times(2)).warn(any()); } + @Test + public void noWarnIfSpringVersionLarger() throws Exception { + spy(SpringSecurityCoreVersion.class); + spy(SpringVersion.class); + when(SpringSecurityCoreVersion.getVersion()).thenReturn("3.2.0.RELEASE"); + when(SpringVersion.getVersion()).thenReturn("4.0.0.RELEASE"); + + performChecks(); + + verify(logger, never()).warn(any()); + } + @Test public void noLoggingIfPropertySet() throws Exception { spy(SpringSecurityCoreVersion.class);