diff --git a/build.gradle b/build.gradle index 54e050c96..67c6920ca 100644 --- a/build.gradle +++ b/build.gradle @@ -20,4 +20,26 @@ allprojects { } } } -} \ No newline at end of file +} + +if (hasProperty('buildScan')) { + buildScan { + termsOfServiceUrl = 'https://gradle.com/terms-of-service' + termsOfServiceAgree = 'yes' + } +} + +repositories { + mavenCentral() +} + +tasks.register('runAllTests') { + var allTasks = rootProject.getAllTasks(true) + var allTestsTasks = allTasks.values().collect { t -> + t.findAll { it.name == 'test' || it.name == 'integrationTest' } + }.flatten() + it.dependsOn { + allTestsTasks + } +} + diff --git a/gradle.properties b/gradle.properties index 02622be8d..a98bff28d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 org.gradle.jvmargs=-Xmx3g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError org.gradle.parallel=true org.gradle.caching=true diff --git a/reactive/rsocket/hello-security/build.gradle b/reactive/rsocket/hello-security/build.gradle index 08c1b7a90..d242ed46a 100644 --- a/reactive/rsocket/hello-security/build.gradle +++ b/reactive/rsocket/hello-security/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -21,4 +21,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/reactive/rsocket/hello-security/gradle.properties b/reactive/rsocket/hello-security/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/rsocket/hello-security/gradle.properties +++ b/reactive/rsocket/hello-security/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux-fn/hello-security/build.gradle b/reactive/webflux-fn/hello-security/build.gradle index 467258896..0f22c9bb9 100644 --- a/reactive/webflux-fn/hello-security/build.gradle +++ b/reactive/webflux-fn/hello-security/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -21,4 +21,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/reactive/webflux-fn/hello-security/gradle.properties b/reactive/webflux-fn/hello-security/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux-fn/hello-security/gradle.properties +++ b/reactive/webflux-fn/hello-security/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux-fn/hello-security/src/test/java/example/HelloTests.java b/reactive/webflux-fn/hello-security/src/test/java/example/HelloTests.java index 0984d43a8..c338dfd8d 100644 --- a/reactive/webflux-fn/hello-security/src/test/java/example/HelloTests.java +++ b/reactive/webflux-fn/hello-security/src/test/java/example/HelloTests.java @@ -28,7 +28,7 @@ * @since 5.0 */ @SpringBootTest -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class HelloTests { @Autowired diff --git a/reactive/webflux-fn/hello/build.gradle b/reactive/webflux-fn/hello/build.gradle index ba297ea6d..91dedae7f 100644 --- a/reactive/webflux-fn/hello/build.gradle +++ b/reactive/webflux-fn/hello/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -19,4 +19,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/reactive/webflux-fn/hello/gradle.properties b/reactive/webflux-fn/hello/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux-fn/hello/gradle.properties +++ b/reactive/webflux-fn/hello/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux-fn/hello/src/test/java/example/HelloTests.java b/reactive/webflux-fn/hello/src/test/java/example/HelloTests.java index 023c9c2b4..62effa3da 100644 --- a/reactive/webflux-fn/hello/src/test/java/example/HelloTests.java +++ b/reactive/webflux-fn/hello/src/test/java/example/HelloTests.java @@ -27,7 +27,7 @@ * @since 5.0 */ @SpringBootTest -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class HelloTests { @Autowired diff --git a/reactive/webflux/java/authentication/username-password/form/build.gradle b/reactive/webflux/java/authentication/username-password/form/build.gradle index 6f764bc1f..95a003d0a 100644 --- a/reactive/webflux/java/authentication/username-password/form/build.gradle +++ b/reactive/webflux/java/authentication/username-password/form/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -25,4 +25,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/reactive/webflux/java/authentication/username-password/form/gradle.properties b/reactive/webflux/java/authentication/username-password/form/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux/java/authentication/username-password/form/gradle.properties +++ b/reactive/webflux/java/authentication/username-password/form/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux/java/authentication/x509/build.gradle b/reactive/webflux/java/authentication/x509/build.gradle index 9df6ad5fb..ba7a2d033 100644 --- a/reactive/webflux/java/authentication/x509/build.gradle +++ b/reactive/webflux/java/authentication/x509/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -21,4 +21,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/reactive/webflux/java/authentication/x509/gradle.properties b/reactive/webflux/java/authentication/x509/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux/java/authentication/x509/gradle.properties +++ b/reactive/webflux/java/authentication/x509/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux/java/hello-security-explicit/build.gradle b/reactive/webflux/java/hello-security-explicit/build.gradle index f1be4209a..52f5cc934 100644 --- a/reactive/webflux/java/hello-security-explicit/build.gradle +++ b/reactive/webflux/java/hello-security-explicit/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -23,4 +23,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/reactive/webflux/java/hello-security-explicit/gradle.properties b/reactive/webflux/java/hello-security-explicit/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux/java/hello-security-explicit/gradle.properties +++ b/reactive/webflux/java/hello-security-explicit/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux/java/hello-security-explicit/src/test/java/example/HelloSecurityTests.java b/reactive/webflux/java/hello-security-explicit/src/test/java/example/HelloSecurityTests.java index 6e7985e42..4038b8b6f 100644 --- a/reactive/webflux/java/hello-security-explicit/src/test/java/example/HelloSecurityTests.java +++ b/reactive/webflux/java/hello-security-explicit/src/test/java/example/HelloSecurityTests.java @@ -28,7 +28,7 @@ * @since 5.0 */ @SpringBootTest -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class HelloSecurityTests { @Autowired diff --git a/reactive/webflux/java/hello-security/build.gradle b/reactive/webflux/java/hello-security/build.gradle index f2c9f31f7..5f56a7782 100644 --- a/reactive/webflux/java/hello-security/build.gradle +++ b/reactive/webflux/java/hello-security/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -21,4 +21,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/reactive/webflux/java/hello-security/gradle.properties b/reactive/webflux/java/hello-security/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux/java/hello-security/gradle.properties +++ b/reactive/webflux/java/hello-security/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux/java/hello-security/src/test/java/example/HelloSecurityTests.java b/reactive/webflux/java/hello-security/src/test/java/example/HelloSecurityTests.java index 5eedc6f32..8bcb762f5 100644 --- a/reactive/webflux/java/hello-security/src/test/java/example/HelloSecurityTests.java +++ b/reactive/webflux/java/hello-security/src/test/java/example/HelloSecurityTests.java @@ -28,7 +28,7 @@ * @since 5.0 */ @SpringBootTest -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class HelloSecurityTests { @Autowired diff --git a/reactive/webflux/java/hello/build.gradle b/reactive/webflux/java/hello/build.gradle index ba297ea6d..91dedae7f 100644 --- a/reactive/webflux/java/hello/build.gradle +++ b/reactive/webflux/java/hello/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -19,4 +19,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/reactive/webflux/java/hello/gradle.properties b/reactive/webflux/java/hello/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux/java/hello/gradle.properties +++ b/reactive/webflux/java/hello/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux/java/hello/src/test/java/example/HelloTests.java b/reactive/webflux/java/hello/src/test/java/example/HelloTests.java index 05a0f9f63..54a365ba7 100644 --- a/reactive/webflux/java/hello/src/test/java/example/HelloTests.java +++ b/reactive/webflux/java/hello/src/test/java/example/HelloTests.java @@ -27,7 +27,7 @@ * @since 5.0 */ @SpringBootTest -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class HelloTests { @Autowired diff --git a/reactive/webflux/java/method/build.gradle b/reactive/webflux/java/method/build.gradle index 59149a4a6..0df8f24ae 100644 --- a/reactive/webflux/java/method/build.gradle +++ b/reactive/webflux/java/method/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -21,4 +21,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/reactive/webflux/java/method/gradle.properties b/reactive/webflux/java/method/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux/java/method/gradle.properties +++ b/reactive/webflux/java/method/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux/java/method/src/test/java/example/HelloMethodApplicationTests.java b/reactive/webflux/java/method/src/test/java/example/HelloMethodApplicationTests.java index 67828273f..1b8f70187 100644 --- a/reactive/webflux/java/method/src/test/java/example/HelloMethodApplicationTests.java +++ b/reactive/webflux/java/method/src/test/java/example/HelloMethodApplicationTests.java @@ -28,7 +28,7 @@ * @since 5.0 */ @SpringBootTest -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class HelloMethodApplicationTests { @Autowired diff --git a/reactive/webflux/java/oauth2/login/build.gradle b/reactive/webflux/java/oauth2/login/build.gradle index 77ce22266..e1b1f28b6 100644 --- a/reactive/webflux/java/oauth2/login/build.gradle +++ b/reactive/webflux/java/oauth2/login/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -24,4 +24,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/reactive/webflux/java/oauth2/login/gradle.properties b/reactive/webflux/java/oauth2/login/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux/java/oauth2/login/gradle.properties +++ b/reactive/webflux/java/oauth2/login/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux/java/oauth2/login/src/integTest/java/example/OAuth2LoginApplicationTests.java b/reactive/webflux/java/oauth2/login/src/integTest/java/example/OAuth2LoginApplicationTests.java index bfe916981..a8d123388 100644 --- a/reactive/webflux/java/oauth2/login/src/integTest/java/example/OAuth2LoginApplicationTests.java +++ b/reactive/webflux/java/oauth2/login/src/integTest/java/example/OAuth2LoginApplicationTests.java @@ -36,7 +36,7 @@ * @author Rob Winch */ @SpringBootTest -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class OAuth2LoginApplicationTests { @Autowired diff --git a/reactive/webflux/java/oauth2/resource-server/build.gradle b/reactive/webflux/java/oauth2/resource-server/build.gradle index 323671cfd..b65b42544 100644 --- a/reactive/webflux/java/oauth2/resource-server/build.gradle +++ b/reactive/webflux/java/oauth2/resource-server/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -21,4 +21,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/reactive/webflux/java/oauth2/resource-server/gradle.properties b/reactive/webflux/java/oauth2/resource-server/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux/java/oauth2/resource-server/gradle.properties +++ b/reactive/webflux/java/oauth2/resource-server/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux/java/oauth2/resource-server/src/integTest/java/example/ServerOAuth2ResourceServerApplicationITests.java b/reactive/webflux/java/oauth2/resource-server/src/integTest/java/example/ServerOAuth2ResourceServerApplicationITests.java index 26984a1f2..9b5146a73 100644 --- a/reactive/webflux/java/oauth2/resource-server/src/integTest/java/example/ServerOAuth2ResourceServerApplicationITests.java +++ b/reactive/webflux/java/oauth2/resource-server/src/integTest/java/example/ServerOAuth2ResourceServerApplicationITests.java @@ -36,7 +36,7 @@ * @since 5.1 */ @SpringBootTest -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") @ActiveProfiles("test") public class ServerOAuth2ResourceServerApplicationITests { diff --git a/reactive/webflux/java/oauth2/webclient/build.gradle b/reactive/webflux/java/oauth2/webclient/build.gradle index 6fd430235..aa37bd277 100644 --- a/reactive/webflux/java/oauth2/webclient/build.gradle +++ b/reactive/webflux/java/oauth2/webclient/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -24,4 +24,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/reactive/webflux/java/oauth2/webclient/gradle.properties b/reactive/webflux/java/oauth2/webclient/gradle.properties index c924e3687..fe3f37e70 100644 --- a/reactive/webflux/java/oauth2/webclient/gradle.properties +++ b/reactive/webflux/java/oauth2/webclient/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/reactive/webflux/java/oauth2/webclient/src/test/java/example/OAuth2WebClientControllerTests.java b/reactive/webflux/java/oauth2/webclient/src/test/java/example/OAuth2WebClientControllerTests.java index a0fb55e24..eca57b5e7 100644 --- a/reactive/webflux/java/oauth2/webclient/src/test/java/example/OAuth2WebClientControllerTests.java +++ b/reactive/webflux/java/oauth2/webclient/src/test/java/example/OAuth2WebClientControllerTests.java @@ -39,7 +39,7 @@ @WebFluxTest @Import({ SecurityConfiguration.class, OAuth2WebClientController.class }) -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class OAuth2WebClientControllerTests { private static MockWebServer web = new MockWebServer(); diff --git a/reactive/webflux/java/oauth2/webclient/src/test/java/example/OAuth2WebClientWebFluxApplicationTests.java b/reactive/webflux/java/oauth2/webclient/src/test/java/example/OAuth2WebClientWebFluxApplicationTests.java index 59a12585d..29b244e35 100644 --- a/reactive/webflux/java/oauth2/webclient/src/test/java/example/OAuth2WebClientWebFluxApplicationTests.java +++ b/reactive/webflux/java/oauth2/webclient/src/test/java/example/OAuth2WebClientWebFluxApplicationTests.java @@ -27,7 +27,7 @@ * @author Rob Winch */ @SpringBootTest -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class OAuth2WebClientWebFluxApplicationTests { @Autowired diff --git a/reactive/webflux/java/oauth2/webclient/src/test/java/example/RegisteredOAuth2AuthorizedClientControllerTests.java b/reactive/webflux/java/oauth2/webclient/src/test/java/example/RegisteredOAuth2AuthorizedClientControllerTests.java index 4bca0193f..d59a67afe 100644 --- a/reactive/webflux/java/oauth2/webclient/src/test/java/example/RegisteredOAuth2AuthorizedClientControllerTests.java +++ b/reactive/webflux/java/oauth2/webclient/src/test/java/example/RegisteredOAuth2AuthorizedClientControllerTests.java @@ -39,7 +39,7 @@ @WebFluxTest @Import({ SecurityConfiguration.class, RegisteredOAuth2AuthorizedClientController.class }) -@AutoConfigureWebTestClient +@AutoConfigureWebTestClient(timeout = "36000") public class RegisteredOAuth2AuthorizedClientControllerTests { private static MockWebServer web = new MockWebServer(); diff --git a/reactive/webflux/kotlin/hello-security/gradle.properties b/reactive/webflux/kotlin/hello-security/gradle.properties index 778a95c65..b79870c13 100644 --- a/reactive/webflux/kotlin/hello-security/gradle.properties +++ b/reactive/webflux/kotlin/hello-security/gradle.properties @@ -1 +1 @@ -spring-security.version=5.6.0-SNAPSHOT +spring-security.version=5.6.0 diff --git a/servlet/java-configuration/aspectj/build.gradle b/servlet/java-configuration/aspectj/build.gradle index ea899bdc2..836dc4795 100644 --- a/servlet/java-configuration/aspectj/build.gradle +++ b/servlet/java-configuration/aspectj/build.gradle @@ -4,7 +4,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -14,7 +14,7 @@ dependencies { aspect "org.springframework.security:spring-security-aspects" implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -31,6 +31,7 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/authentication/preauth/build.gradle b/servlet/java-configuration/authentication/preauth/build.gradle index f82917305..fea5af0c2 100644 --- a/servlet/java-configuration/authentication/preauth/build.gradle +++ b/servlet/java-configuration/authentication/preauth/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -34,4 +34,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/authentication/remember-me/build.gradle b/servlet/java-configuration/authentication/remember-me/build.gradle index 2605113f9..fea5af0c2 100644 --- a/servlet/java-configuration/authentication/remember-me/build.gradle +++ b/servlet/java-configuration/authentication/remember-me/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -34,4 +34,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/servlet/java-configuration/authentication/username-password/form/build.gradle b/servlet/java-configuration/authentication/username-password/form/build.gradle index f82917305..fea5af0c2 100644 --- a/servlet/java-configuration/authentication/username-password/form/build.gradle +++ b/servlet/java-configuration/authentication/username-password/form/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -34,4 +34,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/authentication/username-password/in-memory/build.gradle b/servlet/java-configuration/authentication/username-password/in-memory/build.gradle index f82917305..fea5af0c2 100644 --- a/servlet/java-configuration/authentication/username-password/in-memory/build.gradle +++ b/servlet/java-configuration/authentication/username-password/in-memory/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -34,4 +34,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/authentication/username-password/jdbc/build.gradle b/servlet/java-configuration/authentication/username-password/jdbc/build.gradle index 21c8e20dc..1c78821c9 100644 --- a/servlet/java-configuration/authentication/username-password/jdbc/build.gradle +++ b/servlet/java-configuration/authentication/username-password/jdbc/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.hsqldb:hsqldb:2.5.1" @@ -36,4 +36,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/authentication/username-password/ldap/build.gradle b/servlet/java-configuration/authentication/username-password/ldap/build.gradle index 3de229b6d..53b64cb73 100644 --- a/servlet/java-configuration/authentication/username-password/ldap/build.gradle +++ b/servlet/java-configuration/authentication/username-password/ldap/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -37,4 +37,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/authentication/x509/build.gradle b/servlet/java-configuration/authentication/x509/build.gradle index 2f773aa53..a68af027c 100644 --- a/servlet/java-configuration/authentication/x509/build.gradle +++ b/servlet/java-configuration/authentication/x509/build.gradle @@ -8,13 +8,13 @@ plugins { //apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -32,4 +32,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/data/build.gradle b/servlet/java-configuration/data/build.gradle index d0456ffcc..a81492aa5 100644 --- a/servlet/java-configuration/data/build.gradle +++ b/servlet/java-configuration/data/build.gradle @@ -4,14 +4,14 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { - implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.data:spring-data-releasetrain:Neumann-SR5") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework:spring-framework-bom:5.3.11") + implementation platform("org.springframework.data:spring-data-releasetrain:Neumann-SR9") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -34,4 +34,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/hello-mvc-security/build.gradle b/servlet/java-configuration/hello-mvc-security/build.gradle index f82917305..fea5af0c2 100644 --- a/servlet/java-configuration/hello-mvc-security/build.gradle +++ b/servlet/java-configuration/hello-mvc-security/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -34,4 +34,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/hello-security-explicit/build.gradle b/servlet/java-configuration/hello-security-explicit/build.gradle index a3e000ca8..e609f11d5 100644 --- a/servlet/java-configuration/hello-security-explicit/build.gradle +++ b/servlet/java-configuration/hello-security-explicit/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -37,4 +37,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/hello-security/build.gradle b/servlet/java-configuration/hello-security/build.gradle index a3e000ca8..e609f11d5 100644 --- a/servlet/java-configuration/hello-security/build.gradle +++ b/servlet/java-configuration/hello-security/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -37,4 +37,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/max-sessions/build.gradle b/servlet/java-configuration/max-sessions/build.gradle index f82917305..fea5af0c2 100644 --- a/servlet/java-configuration/max-sessions/build.gradle +++ b/servlet/java-configuration/max-sessions/build.gradle @@ -8,13 +8,13 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { implementation platform("org.springframework:spring-framework-bom:5.3.0") - implementation platform("org.springframework.security:spring-security-bom:5.5.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -34,4 +34,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/java-configuration/saml2/login/build.gradle b/servlet/java-configuration/saml2/login/build.gradle index da355e375..38f107e5d 100644 --- a/servlet/java-configuration/saml2/login/build.gradle +++ b/servlet/java-configuration/saml2/login/build.gradle @@ -24,7 +24,7 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" } } @@ -36,7 +36,7 @@ dependencies { implementation "org.opensaml:opensaml-saml-impl:4.1.1" } implementation platform("org.springframework:spring-framework-bom:5.3.11") - implementation platform("org.springframework.security:spring-security-bom:5.6.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -63,4 +63,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/authentication/username-password/mfa/build.gradle b/servlet/spring-boot/java/authentication/username-password/mfa/build.gradle index e7eb1fe89..1121bf702 100644 --- a/servlet/spring-boot/java/authentication/username-password/mfa/build.gradle +++ b/servlet/spring-boot/java/authentication/username-password/mfa/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -24,4 +24,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/authentication/username-password/mfa/gradle.properties b/servlet/spring-boot/java/authentication/username-password/mfa/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/authentication/username-password/mfa/gradle.properties +++ b/servlet/spring-boot/java/authentication/username-password/mfa/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/authentication/username-password/user-details-service/custom-user/build.gradle b/servlet/spring-boot/java/authentication/username-password/user-details-service/custom-user/build.gradle index ac4c3dd1b..5e56b2bf1 100644 --- a/servlet/spring-boot/java/authentication/username-password/user-details-service/custom-user/build.gradle +++ b/servlet/spring-boot/java/authentication/username-password/user-details-service/custom-user/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -20,4 +20,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/authentication/username-password/user-details-service/custom-user/gradle.properties b/servlet/spring-boot/java/authentication/username-password/user-details-service/custom-user/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/authentication/username-password/user-details-service/custom-user/gradle.properties +++ b/servlet/spring-boot/java/authentication/username-password/user-details-service/custom-user/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/hello-security-explicit/build.gradle b/servlet/spring-boot/java/hello-security-explicit/build.gradle index 0d9c1ba8b..a5faa54cc 100644 --- a/servlet/spring-boot/java/hello-security-explicit/build.gradle +++ b/servlet/spring-boot/java/hello-security-explicit/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -23,4 +23,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/hello-security-explicit/gradle.properties b/servlet/spring-boot/java/hello-security-explicit/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/hello-security-explicit/gradle.properties +++ b/servlet/spring-boot/java/hello-security-explicit/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/hello-security-explicit/src/main/java/example/SecurityConfiguration.java b/servlet/spring-boot/java/hello-security-explicit/src/main/java/example/SecurityConfiguration.java index d8c65b82b..e5475ae85 100644 --- a/servlet/spring-boot/java/hello-security-explicit/src/main/java/example/SecurityConfiguration.java +++ b/servlet/spring-boot/java/hello-security-explicit/src/main/java/example/SecurityConfiguration.java @@ -20,10 +20,10 @@ import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.provisioning.InMemoryUserDetailsManager; +import org.springframework.security.web.SecurityFilterChain; import static org.springframework.security.config.Customizer.withDefaults; @@ -34,19 +34,20 @@ */ @Configuration @EnableWebSecurity -public class SecurityConfiguration extends WebSecurityConfigurerAdapter { +public class SecurityConfiguration { - @Override - // @formatter:off - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { + // @formatter:off http - .authorizeHttpRequests((authorize) -> authorize - .anyRequest().authenticated() - ) - .httpBasic(withDefaults()) - .formLogin(withDefaults()); + .authorizeHttpRequests((authorize) -> authorize + .anyRequest().authenticated() + ) + .httpBasic(withDefaults()) + .formLogin(withDefaults()); + // @formatter:on + return http.build(); } - // @formatter:on // @formatter:off @Bean diff --git a/servlet/spring-boot/java/hello-security/build.gradle b/servlet/spring-boot/java/hello-security/build.gradle index 662dd8425..a4e7a57a4 100644 --- a/servlet/spring-boot/java/hello-security/build.gradle +++ b/servlet/spring-boot/java/hello-security/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -21,4 +21,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/hello-security/gradle.properties b/servlet/spring-boot/java/hello-security/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/hello-security/gradle.properties +++ b/servlet/spring-boot/java/hello-security/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/hello/build.gradle b/servlet/spring-boot/java/hello/build.gradle index 2bd2f7a86..9ea769254 100644 --- a/servlet/spring-boot/java/hello/build.gradle +++ b/servlet/spring-boot/java/hello/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -19,4 +19,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/hello/gradle.properties b/servlet/spring-boot/java/hello/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/hello/gradle.properties +++ b/servlet/spring-boot/java/hello/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/jwt/login/build.gradle b/servlet/spring-boot/java/jwt/login/build.gradle index 87e059949..a5d1ce737 100644 --- a/servlet/spring-boot/java/jwt/login/build.gradle +++ b/servlet/spring-boot/java/jwt/login/build.gradle @@ -5,7 +5,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -19,4 +19,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/jwt/login/gradle.properties b/servlet/spring-boot/java/jwt/login/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/jwt/login/gradle.properties +++ b/servlet/spring-boot/java/jwt/login/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/jwt/login/src/main/java/example/RestConfig.java b/servlet/spring-boot/java/jwt/login/src/main/java/example/RestConfig.java index 7f7de48f5..478e14ef0 100644 --- a/servlet/spring-boot/java/jwt/login/src/main/java/example/RestConfig.java +++ b/servlet/spring-boot/java/jwt/login/src/main/java/example/RestConfig.java @@ -31,7 +31,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.configurers.oauth2.server.resource.OAuth2ResourceServerConfigurer; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.core.userdetails.User; @@ -43,6 +42,7 @@ import org.springframework.security.oauth2.server.resource.web.BearerTokenAuthenticationEntryPoint; import org.springframework.security.oauth2.server.resource.web.access.BearerTokenAccessDeniedHandler; import org.springframework.security.provisioning.InMemoryUserDetailsManager; +import org.springframework.security.web.SecurityFilterChain; /** * Security configuration for the main application. @@ -50,7 +50,7 @@ * @author Josh Cummings */ @Configuration -public class RestConfig extends WebSecurityConfigurerAdapter { +public class RestConfig { @Value("${jwt.public.key}") RSAPublicKey key; @@ -58,22 +58,23 @@ public class RestConfig extends WebSecurityConfigurerAdapter { @Value("${jwt.private.key}") RSAPrivateKey priv; - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { // @formatter:off http - .authorizeHttpRequests((authorize) -> authorize - .anyRequest().authenticated() - ) - .csrf((csrf) -> csrf.ignoringAntMatchers("/token")) - .httpBasic(Customizer.withDefaults()) - .oauth2ResourceServer(OAuth2ResourceServerConfigurer::jwt) - .sessionManagement((session) -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) - .exceptionHandling((exceptions) -> exceptions - .authenticationEntryPoint(new BearerTokenAuthenticationEntryPoint()) - .accessDeniedHandler(new BearerTokenAccessDeniedHandler()) - ); + .authorizeHttpRequests((authorize) -> authorize + .anyRequest().authenticated() + ) + .csrf((csrf) -> csrf.ignoringAntMatchers("/token")) + .httpBasic(Customizer.withDefaults()) + .oauth2ResourceServer(OAuth2ResourceServerConfigurer::jwt) + .sessionManagement((session) -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) + .exceptionHandling((exceptions) -> exceptions + .authenticationEntryPoint(new BearerTokenAuthenticationEntryPoint()) + .accessDeniedHandler(new BearerTokenAccessDeniedHandler()) + ); // @formatter:on + return http.build(); } @Bean diff --git a/servlet/spring-boot/java/jwt/login/src/test/java/example/web/HelloControllerTests.java b/servlet/spring-boot/java/jwt/login/src/test/java/example/web/HelloControllerTests.java index 74919f111..8e3ba1d39 100644 --- a/servlet/spring-boot/java/jwt/login/src/test/java/example/web/HelloControllerTests.java +++ b/servlet/spring-boot/java/jwt/login/src/test/java/example/web/HelloControllerTests.java @@ -16,10 +16,12 @@ package example.web; +import example.RestConfig; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.context.annotation.Import; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -35,6 +37,7 @@ * @author Josh Cummings */ @WebMvcTest({ HelloController.class, TokenController.class }) +@Import(RestConfig.class) public class HelloControllerTests { @Autowired diff --git a/servlet/spring-boot/java/ldap/build.gradle b/servlet/spring-boot/java/ldap/build.gradle index 712f303ae..cdf09e9ee 100644 --- a/servlet/spring-boot/java/ldap/build.gradle +++ b/servlet/spring-boot/java/ldap/build.gradle @@ -5,7 +5,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -21,4 +21,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/ldap/gradle.properties b/servlet/spring-boot/java/ldap/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/ldap/gradle.properties +++ b/servlet/spring-boot/java/ldap/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/oauth2/authorization-server/build.gradle b/servlet/spring-boot/java/oauth2/authorization-server/build.gradle index 37e1766e8..e2aa97785 100644 --- a/servlet/spring-boot/java/oauth2/authorization-server/build.gradle +++ b/servlet/spring-boot/java/oauth2/authorization-server/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -22,4 +22,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/oauth2/authorization-server/gradle.properties b/servlet/spring-boot/java/oauth2/authorization-server/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/oauth2/authorization-server/gradle.properties +++ b/servlet/spring-boot/java/oauth2/authorization-server/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/oauth2/login/build.gradle b/servlet/spring-boot/java/oauth2/login/build.gradle index da06a71b5..1958b77ae 100644 --- a/servlet/spring-boot/java/oauth2/login/build.gradle +++ b/servlet/spring-boot/java/oauth2/login/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -24,4 +24,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/oauth2/login/gradle.properties b/servlet/spring-boot/java/oauth2/login/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/oauth2/login/gradle.properties +++ b/servlet/spring-boot/java/oauth2/login/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/oauth2/login/src/integTest/java/example/OAuth2LoginApplicationTests.java b/servlet/spring-boot/java/oauth2/login/src/integTest/java/example/OAuth2LoginApplicationTests.java index ddbfe8940..5f4427269 100644 --- a/servlet/spring-boot/java/oauth2/login/src/integTest/java/example/OAuth2LoginApplicationTests.java +++ b/servlet/spring-boot/java/oauth2/login/src/integTest/java/example/OAuth2LoginApplicationTests.java @@ -44,7 +44,6 @@ import org.springframework.http.HttpStatus; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient; import org.springframework.security.oauth2.client.endpoint.OAuth2AuthorizationCodeGrantRequest; @@ -63,6 +62,7 @@ import org.springframework.security.oauth2.core.user.DefaultOAuth2User; import org.springframework.security.oauth2.core.user.OAuth2User; import org.springframework.security.oauth2.core.user.OAuth2UserAuthority; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; @@ -328,21 +328,22 @@ private WebResponse followLinkDisableRedirects(HtmlAnchor anchorElement) throws } @EnableWebSecurity - public static class SecurityTestConfig extends WebSecurityConfigurerAdapter { + public static class SecurityTestConfig { - // @formatter:off - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { + // @formatter:off http - .authorizeHttpRequests((authorize) -> authorize - .anyRequest().authenticated() - ) - .oauth2Login((oauth2) -> oauth2 - .tokenEndpoint((token) -> token.accessTokenResponseClient(mockAccessTokenResponseClient())) - .userInfoEndpoint((userInfo) -> userInfo.userService(mockUserService())) - ); + .authorizeHttpRequests((authorize) -> authorize + .anyRequest().authenticated() + ) + .oauth2Login((oauth2) -> oauth2 + .tokenEndpoint((token) -> token.accessTokenResponseClient(mockAccessTokenResponseClient())) + .userInfoEndpoint((userInfo) -> userInfo.userService(mockUserService())) + ); + // @formatter:on + return http.build(); } - // @formatter:on private OAuth2AccessTokenResponseClient mockAccessTokenResponseClient() { OAuth2AccessTokenResponse accessTokenResponse = OAuth2AccessTokenResponse.withToken("access-token-1234") diff --git a/servlet/spring-boot/java/oauth2/resource-server/hello-security/build.gradle b/servlet/spring-boot/java/oauth2/resource-server/hello-security/build.gradle index 229e6790a..26fb26b86 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/hello-security/build.gradle +++ b/servlet/spring-boot/java/oauth2/resource-server/hello-security/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -21,4 +21,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/servlet/spring-boot/java/oauth2/resource-server/hello-security/gradle.properties b/servlet/spring-boot/java/oauth2/resource-server/hello-security/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/hello-security/gradle.properties +++ b/servlet/spring-boot/java/oauth2/resource-server/hello-security/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/oauth2/resource-server/hello-security/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java b/servlet/spring-boot/java/oauth2/resource-server/hello-security/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java index 973752f36..c0dc34395 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/hello-security/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java +++ b/servlet/spring-boot/java/oauth2/resource-server/hello-security/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java @@ -20,10 +20,10 @@ import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.configurers.oauth2.server.resource.OAuth2ResourceServerConfigurer; import org.springframework.security.oauth2.jwt.JwtDecoder; import org.springframework.security.oauth2.jwt.NimbusJwtDecoder; +import org.springframework.security.web.SecurityFilterChain; /** * OAuth resource configuration. @@ -31,22 +31,23 @@ * @author Josh Cummings */ @EnableWebSecurity -public class OAuth2ResourceServerSecurityConfiguration extends WebSecurityConfigurerAdapter { +public class OAuth2ResourceServerSecurityConfiguration { @Value("${spring.security.oauth2.resourceserver.jwt.jwk-set-uri}") String jwkSetUri; - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { // @formatter:off http - .authorizeHttpRequests((authorize) -> authorize - .antMatchers(HttpMethod.GET, "/message/**").hasAuthority("SCOPE_message:read") - .antMatchers(HttpMethod.POST, "/message/**").hasAuthority("SCOPE_message:write") - .anyRequest().authenticated() - ) - .oauth2ResourceServer(OAuth2ResourceServerConfigurer::jwt); + .authorizeHttpRequests((authorize) -> authorize + .antMatchers(HttpMethod.GET, "/message/**").hasAuthority("SCOPE_message:read") + .antMatchers(HttpMethod.POST, "/message/**").hasAuthority("SCOPE_message:write") + .anyRequest().authenticated() + ) + .oauth2ResourceServer(OAuth2ResourceServerConfigurer::jwt); // @formatter:on + return http.build(); } @Bean diff --git a/servlet/spring-boot/java/oauth2/resource-server/hello-security/src/test/java/example/OAuth2ResourceServerControllerTests.java b/servlet/spring-boot/java/oauth2/resource-server/hello-security/src/test/java/example/OAuth2ResourceServerControllerTests.java index be3e33e78..4e0fd335c 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/hello-security/src/test/java/example/OAuth2ResourceServerControllerTests.java +++ b/servlet/spring-boot/java/oauth2/resource-server/hello-security/src/test/java/example/OAuth2ResourceServerControllerTests.java @@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.context.annotation.Import; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.test.web.servlet.MockMvc; @@ -36,6 +37,7 @@ * */ @WebMvcTest(OAuth2ResourceServerController.class) +@Import(OAuth2ResourceServerSecurityConfiguration.class) public class OAuth2ResourceServerControllerTests { @Autowired diff --git a/servlet/spring-boot/java/oauth2/resource-server/jwe/build.gradle b/servlet/spring-boot/java/oauth2/resource-server/jwe/build.gradle index 946d72da7..b111e3e52 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/jwe/build.gradle +++ b/servlet/spring-boot/java/oauth2/resource-server/jwe/build.gradle @@ -22,7 +22,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -37,4 +37,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/servlet/spring-boot/java/oauth2/resource-server/jwe/gradle.properties b/servlet/spring-boot/java/oauth2/resource-server/jwe/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/jwe/gradle.properties +++ b/servlet/spring-boot/java/oauth2/resource-server/jwe/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/oauth2/resource-server/jwe/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java b/servlet/spring-boot/java/oauth2/resource-server/jwe/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java index 5ce1aa2e3..effb9d329 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/jwe/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java +++ b/servlet/spring-boot/java/oauth2/resource-server/jwe/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java @@ -42,9 +42,9 @@ import org.springframework.context.annotation.Bean; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.oauth2.jwt.JwtDecoder; import org.springframework.security.oauth2.jwt.NimbusJwtDecoder; +import org.springframework.security.web.SecurityFilterChain; import static org.springframework.security.config.Customizer.withDefaults; @@ -54,7 +54,7 @@ * @author Josh Cummings */ @EnableWebSecurity -public class OAuth2ResourceServerSecurityConfiguration extends WebSecurityConfigurerAdapter { +public class OAuth2ResourceServerSecurityConfiguration { private final JWSAlgorithm jwsAlgorithm = JWSAlgorithm.RS256; @@ -68,16 +68,17 @@ public class OAuth2ResourceServerSecurityConfiguration extends WebSecurityConfig @Value("${sample.jwe-key-value}") RSAPrivateKey key; - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { // @formatter:off http - .authorizeHttpRequests((authorize) -> authorize - .antMatchers("/message/**").hasAuthority("SCOPE_message:read") - .anyRequest().authenticated() - ) - .oauth2ResourceServer((oauth2) -> oauth2.jwt(withDefaults())); + .authorizeHttpRequests((authorize) -> authorize + .antMatchers("/message/**").hasAuthority("SCOPE_message:read") + .anyRequest().authenticated() + ) + .oauth2ResourceServer((oauth2) -> oauth2.jwt(withDefaults())); // @formatter:on + return http.build(); } @Bean diff --git a/servlet/spring-boot/java/oauth2/resource-server/multi-tenancy/build.gradle b/servlet/spring-boot/java/oauth2/resource-server/multi-tenancy/build.gradle index 7ce49e78f..d34fa0491 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/multi-tenancy/build.gradle +++ b/servlet/spring-boot/java/oauth2/resource-server/multi-tenancy/build.gradle @@ -22,7 +22,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -38,4 +38,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/spring-boot/java/oauth2/resource-server/multi-tenancy/gradle.properties b/servlet/spring-boot/java/oauth2/resource-server/multi-tenancy/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/multi-tenancy/gradle.properties +++ b/servlet/spring-boot/java/oauth2/resource-server/multi-tenancy/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/oauth2/resource-server/opaque/build.gradle b/servlet/spring-boot/java/oauth2/resource-server/opaque/build.gradle index 78a71b039..d34fa0491 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/opaque/build.gradle +++ b/servlet/spring-boot/java/oauth2/resource-server/opaque/build.gradle @@ -22,7 +22,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -38,4 +38,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/servlet/spring-boot/java/oauth2/resource-server/opaque/gradle.properties b/servlet/spring-boot/java/oauth2/resource-server/opaque/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/opaque/gradle.properties +++ b/servlet/spring-boot/java/oauth2/resource-server/opaque/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/oauth2/resource-server/opaque/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java b/servlet/spring-boot/java/oauth2/resource-server/opaque/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java index b3cee2f91..baef8cadc 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/opaque/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java +++ b/servlet/spring-boot/java/oauth2/resource-server/opaque/src/main/java/example/OAuth2ResourceServerSecurityConfiguration.java @@ -16,10 +16,11 @@ package example; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.web.SecurityFilterChain; /** * OAuth2 Security Configuration. @@ -27,7 +28,7 @@ * @author Josh Cummings */ @EnableWebSecurity -public class OAuth2ResourceServerSecurityConfiguration extends WebSecurityConfigurerAdapter { +public class OAuth2ResourceServerSecurityConfiguration { @Value("${spring.security.oauth2.resourceserver.opaque.introspection-uri}") String introspectionUri; @@ -38,22 +39,23 @@ public class OAuth2ResourceServerSecurityConfiguration extends WebSecurityConfig @Value("${spring.security.oauth2.resourceserver.opaque.introspection-client-secret}") String clientSecret; - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { // @formatter:off http - .authorizeHttpRequests((authorize) -> authorize - .mvcMatchers(HttpMethod.GET, "/message/**").hasAuthority("SCOPE_message:read") - .mvcMatchers(HttpMethod.POST, "/message/**").hasAuthority("SCOPE_message:write") - .anyRequest().authenticated() - ) - .oauth2ResourceServer((oauth2) -> oauth2 - .opaqueToken((opaque) -> opaque - .introspectionUri(this.introspectionUri) - .introspectionClientCredentials(this.clientId, this.clientSecret) + .authorizeHttpRequests((authorize) -> authorize + .mvcMatchers(HttpMethod.GET, "/message/**").hasAuthority("SCOPE_message:read") + .mvcMatchers(HttpMethod.POST, "/message/**").hasAuthority("SCOPE_message:write") + .anyRequest().authenticated() ) - ); + .oauth2ResourceServer((oauth2) -> oauth2 + .opaqueToken((opaque) -> opaque + .introspectionUri(this.introspectionUri) + .introspectionClientCredentials(this.clientId, this.clientSecret) + ) + ); // @formatter:on + return http.build(); } } diff --git a/servlet/spring-boot/java/oauth2/resource-server/opaque/src/test/java/example/OAuth2ResourceServerControllerTests.java b/servlet/spring-boot/java/oauth2/resource-server/opaque/src/test/java/example/OAuth2ResourceServerControllerTests.java index 037932e0b..f11f28ffa 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/opaque/src/test/java/example/OAuth2ResourceServerControllerTests.java +++ b/servlet/spring-boot/java/oauth2/resource-server/opaque/src/test/java/example/OAuth2ResourceServerControllerTests.java @@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.context.annotation.Import; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors; import org.springframework.test.web.servlet.MockMvc; @@ -36,6 +37,7 @@ * @since 5.3 */ @WebMvcTest(OAuth2ResourceServerController.class) +@Import(OAuth2ResourceServerSecurityConfiguration.class) public class OAuth2ResourceServerControllerTests { @Autowired diff --git a/servlet/spring-boot/java/oauth2/resource-server/static/build.gradle b/servlet/spring-boot/java/oauth2/resource-server/static/build.gradle index 946d72da7..b111e3e52 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/static/build.gradle +++ b/servlet/spring-boot/java/oauth2/resource-server/static/build.gradle @@ -22,7 +22,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -37,4 +37,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/servlet/spring-boot/java/oauth2/resource-server/static/gradle.properties b/servlet/spring-boot/java/oauth2/resource-server/static/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/oauth2/resource-server/static/gradle.properties +++ b/servlet/spring-boot/java/oauth2/resource-server/static/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/oauth2/webclient/build.gradle b/servlet/spring-boot/java/oauth2/webclient/build.gradle index e4a399ff3..aabadc2bd 100644 --- a/servlet/spring-boot/java/oauth2/webclient/build.gradle +++ b/servlet/spring-boot/java/oauth2/webclient/build.gradle @@ -22,7 +22,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } @@ -42,4 +42,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/servlet/spring-boot/java/oauth2/webclient/gradle.properties b/servlet/spring-boot/java/oauth2/webclient/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/oauth2/webclient/gradle.properties +++ b/servlet/spring-boot/java/oauth2/webclient/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/oauth2/webclient/src/main/java/example/SecurityConfiguration.java b/servlet/spring-boot/java/oauth2/webclient/src/main/java/example/SecurityConfiguration.java index 238fc891e..40e814596 100644 --- a/servlet/spring-boot/java/oauth2/webclient/src/main/java/example/SecurityConfiguration.java +++ b/servlet/spring-boot/java/oauth2/webclient/src/main/java/example/SecurityConfiguration.java @@ -18,11 +18,11 @@ import org.springframework.context.annotation.Bean; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.provisioning.InMemoryUserDetailsManager; +import org.springframework.security.web.SecurityFilterChain; import static org.springframework.security.config.Customizer.withDefaults; @@ -32,20 +32,21 @@ * @author Joe Grandja */ @EnableWebSecurity -public class SecurityConfiguration extends WebSecurityConfigurerAdapter { +public class SecurityConfiguration { - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { // @formatter:off http - .authorizeHttpRequests((authorize) -> authorize - .mvcMatchers("/", "/public/**").permitAll() - .anyRequest().authenticated() - ) - .formLogin(withDefaults()) - .oauth2Login(withDefaults()) - .oauth2Client(withDefaults()); + .authorizeHttpRequests((authorize) -> authorize + .mvcMatchers("/", "/public/**").permitAll() + .anyRequest().authenticated() + ) + .formLogin(withDefaults()) + .oauth2Login(withDefaults()) + .oauth2Client(withDefaults()); // @formatter:on + return http.build(); } @Bean diff --git a/servlet/spring-boot/java/saml2/login-single-tenant/README.adoc b/servlet/spring-boot/java/saml2/login-single-tenant/README.adoc index 95bc623ad..37f34272b 100644 --- a/servlet/spring-boot/java/saml2/login-single-tenant/README.adoc +++ b/servlet/spring-boot/java/saml2/login-single-tenant/README.adoc @@ -6,7 +6,7 @@ It uses https://simplesamlphp.org/[SimpleSAMLphp] as its asserting party. The sample application uses Spring Boot and the `spring-security-saml2-service-provider` module which is new in Spring Security 5.2. -The https://docs.spring.io/spring-security/site/docs/5.6.0-SNAPSHOT/reference/html5/#servlet-saml2login-logout[SAML 2.0 Logout feature] is new in Spring Security 5.6. +The https://docs.spring.io/spring-security/reference/servlet/saml2/logout.html[SAML 2.0 Logout feature] is new in Spring Security 5.6. == Goals @@ -27,7 +27,7 @@ The following features are implemented in the MVP: On this sample, the SAML 2.0 Logout is using the HTTP-POST binding. -You can refer to the https://docs.spring.io/spring-security/site/docs/5.6.0-SNAPSHOT/reference/html5/#servlet-saml2login-logout[reference documentation] for more details about the RP- and AP-initiated SAML 2.0 Logout. +You can refer to the https://docs.spring.io/spring-security/reference/servlet/saml2/logout.html[reference documentation] for more details about the RP- and AP-initiated SAML 2.0 Logout. == Run the Sample diff --git a/servlet/spring-boot/java/saml2/login-single-tenant/build.gradle b/servlet/spring-boot/java/saml2/login-single-tenant/build.gradle index 1da6b4a20..f512d8135 100644 --- a/servlet/spring-boot/java/saml2/login-single-tenant/build.gradle +++ b/servlet/spring-boot/java/saml2/login-single-tenant/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" } } @@ -30,4 +30,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/servlet/spring-boot/java/saml2/login-single-tenant/gradle.properties b/servlet/spring-boot/java/saml2/login-single-tenant/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/saml2/login-single-tenant/gradle.properties +++ b/servlet/spring-boot/java/saml2/login-single-tenant/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/saml2/login/README.adoc b/servlet/spring-boot/java/saml2/login/README.adoc index 95bc623ad..37f34272b 100644 --- a/servlet/spring-boot/java/saml2/login/README.adoc +++ b/servlet/spring-boot/java/saml2/login/README.adoc @@ -6,7 +6,7 @@ It uses https://simplesamlphp.org/[SimpleSAMLphp] as its asserting party. The sample application uses Spring Boot and the `spring-security-saml2-service-provider` module which is new in Spring Security 5.2. -The https://docs.spring.io/spring-security/site/docs/5.6.0-SNAPSHOT/reference/html5/#servlet-saml2login-logout[SAML 2.0 Logout feature] is new in Spring Security 5.6. +The https://docs.spring.io/spring-security/reference/servlet/saml2/logout.html[SAML 2.0 Logout feature] is new in Spring Security 5.6. == Goals @@ -27,7 +27,7 @@ The following features are implemented in the MVP: On this sample, the SAML 2.0 Logout is using the HTTP-POST binding. -You can refer to the https://docs.spring.io/spring-security/site/docs/5.6.0-SNAPSHOT/reference/html5/#servlet-saml2login-logout[reference documentation] for more details about the RP- and AP-initiated SAML 2.0 Logout. +You can refer to the https://docs.spring.io/spring-security/reference/servlet/saml2/logout.html[reference documentation] for more details about the RP- and AP-initiated SAML 2.0 Logout. == Run the Sample diff --git a/servlet/spring-boot/java/saml2/login/build.gradle b/servlet/spring-boot/java/saml2/login/build.gradle index 1da6b4a20..f512d8135 100644 --- a/servlet/spring-boot/java/saml2/login/build.gradle +++ b/servlet/spring-boot/java/saml2/login/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" } } @@ -30,4 +30,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/servlet/spring-boot/java/saml2/login/gradle.properties b/servlet/spring-boot/java/saml2/login/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/saml2/login/gradle.properties +++ b/servlet/spring-boot/java/saml2/login/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/java/saml2/refreshable-metadata/README.adoc b/servlet/spring-boot/java/saml2/refreshable-metadata/README.adoc index 2c9e1ed24..9c39ca0d6 100644 --- a/servlet/spring-boot/java/saml2/refreshable-metadata/README.adoc +++ b/servlet/spring-boot/java/saml2/refreshable-metadata/README.adoc @@ -6,7 +6,7 @@ It uses https://simplesamlphp.org/[SimpleSAMLphp] as its asserting party. The sample application uses Spring Boot and the `spring-security-saml2-service-provider` module which is new in Spring Security 5.2. -The https://docs.spring.io/spring-security/site/docs/5.6.0-SNAPSHOT/reference/html5/#servlet-saml2login-logout[SAML 2.0 Logout feature] is new in Spring Security 5.6. +The https://docs.spring.io/spring-security/reference/servlet/saml2/logout.html[SAML 2.0 Logout feature] is new in Spring Security 5.6. == Goals @@ -27,7 +27,7 @@ The following features are implemented in the MVP: On this sample, the SAML 2.0 Logout is using the HTTP-POST binding. -You can refer to the https://docs.spring.io/spring-security/site/docs/5.6.0-SNAPSHOT/reference/html5/#servlet-saml2login-logout[reference documentation] for more details about the RP- and AP-initiated SAML 2.0 Logout. +You can refer to the https://docs.spring.io/spring-security/reference/servlet/saml2/logout.html[reference documentation] for more details about the RP- and AP-initiated SAML 2.0 Logout. === Refreshable Asserting Party Metadata diff --git a/servlet/spring-boot/java/saml2/refreshable-metadata/build.gradle b/servlet/spring-boot/java/saml2/refreshable-metadata/build.gradle index 83fb5f4ca..f5162edca 100644 --- a/servlet/spring-boot/java/saml2/refreshable-metadata/build.gradle +++ b/servlet/spring-boot/java/saml2/refreshable-metadata/build.gradle @@ -6,7 +6,7 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" } } @@ -30,4 +30,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() -} \ No newline at end of file + outputs.upToDateWhen { false } +} diff --git a/servlet/spring-boot/java/saml2/refreshable-metadata/gradle.properties b/servlet/spring-boot/java/saml2/refreshable-metadata/gradle.properties index c924e3687..fe3f37e70 100644 --- a/servlet/spring-boot/java/saml2/refreshable-metadata/gradle.properties +++ b/servlet/spring-boot/java/saml2/refreshable-metadata/gradle.properties @@ -1,2 +1,2 @@ -version=5.6.0-SNAPSHOT -spring-security.version=5.6.0-SNAPSHOT +version=5.6.0 +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/kotlin/hello-security/gradle.properties b/servlet/spring-boot/kotlin/hello-security/gradle.properties index 778a95c65..b79870c13 100644 --- a/servlet/spring-boot/kotlin/hello-security/gradle.properties +++ b/servlet/spring-boot/kotlin/hello-security/gradle.properties @@ -1 +1 @@ -spring-security.version=5.6.0-SNAPSHOT +spring-security.version=5.6.0 diff --git a/servlet/spring-boot/kotlin/hello-security/src/main/kotlin/org/springframework/security/samples/config/SecurityConfig.kt b/servlet/spring-boot/kotlin/hello-security/src/main/kotlin/org/springframework/security/samples/config/SecurityConfig.kt index 043f29eca..296d19b35 100644 --- a/servlet/spring-boot/kotlin/hello-security/src/main/kotlin/org/springframework/security/samples/config/SecurityConfig.kt +++ b/servlet/spring-boot/kotlin/hello-security/src/main/kotlin/org/springframework/security/samples/config/SecurityConfig.kt @@ -19,32 +19,34 @@ package org.springframework.security.samples.config import org.springframework.context.annotation.Bean import org.springframework.security.config.annotation.web.builders.HttpSecurity import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter import org.springframework.security.config.web.servlet.invoke import org.springframework.security.core.userdetails.User import org.springframework.security.core.userdetails.UserDetailsService import org.springframework.security.provisioning.InMemoryUserDetailsManager +import org.springframework.security.web.SecurityFilterChain /** * @author Eleftheria Stein */ @EnableWebSecurity -class SecurityConfig : WebSecurityConfigurerAdapter() { +class SecurityConfig { - override fun configure(http: HttpSecurity) { - http { + @Bean + fun filterChain(http: HttpSecurity): SecurityFilterChain { + http { authorizeRequests { authorize("/css/**", permitAll) authorize("/user/**", hasAuthority("ROLE_USER")) } - formLogin { - loginPage = "/log-in" - } + formLogin { + loginPage = "/log-in" + } } + return http.build() } @Bean - public override fun userDetailsService(): UserDetailsService { + fun userDetailsService(): UserDetailsService { val userDetails = User.withDefaultPasswordEncoder() .username("user") .password("password") diff --git a/servlet/xml/java/contacts/build.gradle b/servlet/xml/java/contacts/build.gradle index 8e02c87a6..f285c8d6a 100644 --- a/servlet/xml/java/contacts/build.gradle +++ b/servlet/xml/java/contacts/build.gradle @@ -8,12 +8,12 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { - implementation platform("org.springframework.security:spring-security-bom:5.6.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.springframework:spring-framework-bom:5.3.9") implementation platform("org.junit:junit-bom:5.7.0") @@ -50,4 +50,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/xml/java/contacts/gradle.properties b/servlet/xml/java/contacts/gradle.properties index 99e4019fe..35603f4bb 100644 --- a/servlet/xml/java/contacts/gradle.properties +++ b/servlet/xml/java/contacts/gradle.properties @@ -1 +1 @@ -version=5.6.0-SNAPSHOT \ No newline at end of file +version=5.6.0 \ No newline at end of file diff --git a/servlet/xml/java/dms/build.gradle b/servlet/xml/java/dms/build.gradle index c9c2586b4..2798ce1b2 100644 --- a/servlet/xml/java/dms/build.gradle +++ b/servlet/xml/java/dms/build.gradle @@ -4,12 +4,12 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { - implementation platform("org.springframework.security:spring-security-bom:5.6.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.springframework:spring-framework-bom:5.3.9") implementation platform("org.junit:junit-bom:5.7.0") @@ -38,4 +38,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/xml/java/dms/gradle.properties b/servlet/xml/java/dms/gradle.properties index f30993379..bf3fc16e7 100644 --- a/servlet/xml/java/dms/gradle.properties +++ b/servlet/xml/java/dms/gradle.properties @@ -1 +1 @@ -version=5.6.0-SNAPSHOT +version=5.6.0 diff --git a/servlet/xml/java/helloworld/build.gradle b/servlet/xml/java/helloworld/build.gradle index 702108fbc..fc728eade 100644 --- a/servlet/xml/java/helloworld/build.gradle +++ b/servlet/xml/java/helloworld/build.gradle @@ -8,12 +8,12 @@ plugins { apply from: "gradle/gretty.gradle" repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { - implementation platform("org.springframework.security:spring-security-bom:5.6.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -35,4 +35,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/xml/java/helloworld/gradle.properties b/servlet/xml/java/helloworld/gradle.properties index f30993379..bf3fc16e7 100644 --- a/servlet/xml/java/helloworld/gradle.properties +++ b/servlet/xml/java/helloworld/gradle.properties @@ -1 +1 @@ -version=5.6.0-SNAPSHOT +version=5.6.0 diff --git a/servlet/xml/java/preauth/build.gradle b/servlet/xml/java/preauth/build.gradle index 27eae7b09..7e9872673 100644 --- a/servlet/xml/java/preauth/build.gradle +++ b/servlet/xml/java/preauth/build.gradle @@ -4,12 +4,12 @@ plugins { } repositories { - jcenter() + mavenCentral() maven { url "https://repo.spring.io/snapshot" } } dependencies { - implementation platform("org.springframework.security:spring-security-bom:5.6.0-SNAPSHOT") + implementation platform("org.springframework.security:spring-security-bom:5.6.0") implementation platform("org.junit:junit-bom:5.7.0") implementation "org.springframework.security:spring-security-config" @@ -29,4 +29,5 @@ dependencies { tasks.withType(Test).configureEach { useJUnitPlatform() + outputs.upToDateWhen { false } } diff --git a/servlet/xml/java/preauth/gradle.properties b/servlet/xml/java/preauth/gradle.properties index f30993379..bf3fc16e7 100644 --- a/servlet/xml/java/preauth/gradle.properties +++ b/servlet/xml/java/preauth/gradle.properties @@ -1 +1 @@ -version=5.6.0-SNAPSHOT +version=5.6.0 diff --git a/settings.gradle b/settings.gradle index 22313100b..0abf03302 100644 --- a/settings.gradle +++ b/settings.gradle @@ -13,6 +13,11 @@ pluginManagement { } } +plugins { + id "com.gradle.enterprise" version "3.10.2" + id "io.spring.ge.conventions" version "0.0.7" +} + include ":reactive:rsocket:hello-security" include ":reactive:webflux-fn:hello" include ":reactive:webflux-fn:hello-security" @@ -39,7 +44,7 @@ include ":servlet:java-configuration:hello-mvc-security" include ":servlet:java-configuration:hello-security" include ":servlet:java-configuration:hello-security-explicit" include ":servlet:java-configuration:max-sessions" -include ":servlet:java-configuration:saml2:login" +//include ":servlet:java-configuration:saml2:login" include ":servlet:spring-boot:java:authentication:username-password:user-details-service:custom-user" include ":servlet:spring-boot:java:authentication:username-password:mfa" include ":servlet:spring-boot:java:hello" @@ -55,9 +60,9 @@ include ":servlet:spring-boot:java:oauth2:resource-server:multi-tenancy" include ":servlet:spring-boot:java:oauth2:resource-server:opaque" include ":servlet:spring-boot:java:oauth2:resource-server:static" include ":servlet:spring-boot:java:oauth2:webclient" -include ":servlet:spring-boot:java:saml2:login" -include ":servlet:spring-boot:java:saml2:login-single-tenant" -include ":servlet:spring-boot:java:saml2:refreshable-metadata" +//include ":servlet:spring-boot:java:saml2:login" +//include ":servlet:spring-boot:java:saml2:login-single-tenant" +//include ":servlet:spring-boot:java:saml2:refreshable-metadata" include ":servlet:spring-boot:kotlin:hello-security" include ":servlet:xml:java:helloworld" include ":servlet:xml:java:preauth" diff --git a/spring-security-ci.gradle b/spring-security-ci.gradle new file mode 100644 index 000000000..fa710e7d9 --- /dev/null +++ b/spring-security-ci.gradle @@ -0,0 +1,34 @@ +allprojects { + repositories { + exclusiveContent { + forRepository { + maven { + url "file://$localRepositoryPath" + } + } + filter { + includeVersion "org.springframework.security", "spring-security-acl", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-aspects", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-bom", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-cas", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-config", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-core", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-crypto", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-data", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-ldap", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-messaging", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-oauth2-client", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-oauth2-core", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-oauth2-jose", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-oauth2-resource-server", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-openid", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-remoting", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-rsocket", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-saml2-service-provider", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-taglibs", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-test", "$springSecurityVersion" + includeVersion "org.springframework.security", "spring-security-web", "$springSecurityVersion" + } + } + } +}