requestUpdate = new HttpEntity<>(updatedResource, headers);
- final ClientHttpRequestFactory requestFactory = getSimpleClientHttpRequestFactory();
+ final ClientHttpRequestFactory requestFactory = getClientHttpRequestFactory();
final RestTemplate template = new RestTemplate(requestFactory);
template.setMessageConverters(Arrays.asList(new MappingJackson2HttpMessageConverter()));
template.patchForObject(resourceUrl, requestUpdate, Void.class);
@@ -262,7 +262,7 @@ public class RestTemplateBasicLiveTest {
// Simply setting restTemplate timeout using ClientHttpRequestFactory
- ClientHttpRequestFactory getSimpleClientHttpRequestFactory() {
+ ClientHttpRequestFactory getClientHttpRequestFactory() {
final int timeout = 5;
final HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory();
clientHttpRequestFactory.setConnectTimeout(timeout * 1000);
diff --git a/spring-security-acl/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-acl/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..74f26e2e5a
--- /dev/null
+++ b/spring-security-acl/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.acl.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-angular/README.md b/spring-security-angular/README.md
index 49cd8dd62d..80312c4bab 100644
--- a/spring-security-angular/README.md
+++ b/spring-security-angular/README.md
@@ -1,3 +1,2 @@
### Relevant Articles:
- [Spring Security Login Page with Angular](https://www.baeldung.com/spring-security-login-angular)
-- [Fixing 401s with CORS Preflights and Spring Security](https://www.baeldung.com/spring-security-cors-preflight)
diff --git a/spring-security-angular/server/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-angular/server/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..e61d512bca
--- /dev/null
+++ b/spring-security-angular/server/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.springbootsecurityrest.basicauth.SpringBootSecurityApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringBootSecurityApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-cache-control/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-cache-control/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..8fbaa7169b
--- /dev/null
+++ b/spring-security-cache-control/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.cachecontrol.AppRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AppRunner.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-client/README.MD b/spring-security-client/README.MD
deleted file mode 100644
index 0b0af7ffe1..0000000000
--- a/spring-security-client/README.MD
+++ /dev/null
@@ -1,11 +0,0 @@
-=========
-## Spring Security Authentication/Authorization Example Project
-
-##The Course
-The "REST With Spring" Classes: http://github.learnspringsecurity.com
-
-### Relevant Articles:
-- [Spring Security Manual Authentication](http://www.baeldung.com/spring-security-authentication)
-
-### Build the Project
-mvn clean install
diff --git a/spring-security-client/pom.xml b/spring-security-client/pom.xml
deleted file mode 100644
index 96ac837a09..0000000000
--- a/spring-security-client/pom.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
- 4.0.0
- spring-security-client
- spring-security-client
- pom
-
-
- com.baeldung
- parent-modules
- 1.0.0-SNAPSHOT
- ..
-
-
-
- spring-security-jsp-authentication
- spring-security-jsp-authorize
- spring-security-jsp-config
- spring-security-mvc
- spring-security-thymeleaf-authentication
- spring-security-thymeleaf-authorize
- spring-security-thymeleaf-config
-
-
diff --git a/spring-security-client/spring-security-jsp-authentication/pom.xml b/spring-security-client/spring-security-jsp-authentication/pom.xml
deleted file mode 100644
index 9cb2a45331..0000000000
--- a/spring-security-client/spring-security-jsp-authentication/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
- 4.0.0
- com.baeldung
- spring-security-jsp-authentication
- 0.0.1-SNAPSHOT
- spring-security-jsp-authentication
- war
- Spring Security JSP Authentication tag sample
-
-
- parent-boot-1
- com.baeldung
- 0.0.1-SNAPSHOT
- ../../parent-boot-1
-
-
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-tomcat
-
-
- org.apache.tomcat.embed
- tomcat-embed-jasper
- provided
-
-
- javax.servlet
- jstl
-
-
- org.springframework.security
- spring-security-taglibs
-
-
-
-
diff --git a/spring-security-client/spring-security-jsp-authentication/src/main/java/org/baeldung/config/Application.java b/spring-security-client/spring-security-jsp-authentication/src/main/java/org/baeldung/config/Application.java
deleted file mode 100644
index c2c5939676..0000000000
--- a/spring-security-client/spring-security-jsp-authentication/src/main/java/org/baeldung/config/Application.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.web.support.SpringBootServletInitializer;
-
-@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
-public class Application extends SpringBootServletInitializer {
-
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
- return application.sources(Application.class);
- }
-
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
-
-}
diff --git a/spring-security-client/spring-security-jsp-authentication/src/main/java/org/baeldung/config/MvcConfig.java b/spring-security-client/spring-security-jsp-authentication/src/main/java/org/baeldung/config/MvcConfig.java
deleted file mode 100644
index fa2a324146..0000000000
--- a/spring-security-client/spring-security-jsp-authentication/src/main/java/org/baeldung/config/MvcConfig.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-@Configuration
-public class MvcConfig extends WebMvcConfigurerAdapter {
-
- public MvcConfig() {
- super();
- }
-
- //
-
- @Override
- public void addViewControllers(final ViewControllerRegistry registry) {
- super.addViewControllers(registry);
- registry.addViewController("/").setViewName("forward:/index");
- registry.addViewController("/index");
- }
-
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-authentication/src/main/java/org/baeldung/config/SecurityConfig.java b/spring-security-client/spring-security-jsp-authentication/src/main/java/org/baeldung/config/SecurityConfig.java
deleted file mode 100644
index bd6c56d38a..0000000000
--- a/spring-security-client/spring-security-jsp-authentication/src/main/java/org/baeldung/config/SecurityConfig.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-@Configuration
-@EnableWebSecurity
-public class SecurityConfig extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
- // @formatter:off
- auth.inMemoryAuthentication()
- .withUser("john").password("123").roles("USER")
- .and()
- .withUser("tom").password("111").roles("ADMIN");
- // @formatter:on
- }
-
- @Override
- public void configure(WebSecurity web) throws Exception {
- web.ignoring().antMatchers("/resources/**");
- }
-
- @Override
- protected void configure(final HttpSecurity http) throws Exception {
- // @formatter:off
- http.authorizeRequests()
- .antMatchers("/login").permitAll()
- .antMatchers("/admin").hasRole("ADMIN")
- .anyRequest().authenticated()
- .and().formLogin().permitAll()
- ;
- // @formatter:on
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-authentication/src/main/resources/application.properties b/spring-security-client/spring-security-jsp-authentication/src/main/resources/application.properties
deleted file mode 100644
index 26a80c79f3..0000000000
--- a/spring-security-client/spring-security-jsp-authentication/src/main/resources/application.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-server.port: 8081
-spring.mvc.view.prefix: /WEB-INF/jsp/
-spring.mvc.view.suffix: .jsp
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-authentication/src/main/webapp/WEB-INF/jsp/index.jsp b/spring-security-client/spring-security-jsp-authentication/src/main/webapp/WEB-INF/jsp/index.jsp
deleted file mode 100644
index 90c00e980a..0000000000
--- a/spring-security-client/spring-security-jsp-authentication/src/main/webapp/WEB-INF/jsp/index.jsp
+++ /dev/null
@@ -1,24 +0,0 @@
- <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
-
-
-
-
-Spring Security JSP Authorize
-
-
-
-
-
-
-
-
-
-
- Current user name:
-
- Current user roles:
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-authorize/pom.xml b/spring-security-client/spring-security-jsp-authorize/pom.xml
deleted file mode 100644
index ad4c9d105b..0000000000
--- a/spring-security-client/spring-security-jsp-authorize/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
- 4.0.0
- com.baeldung
- spring-security-jsp-authorize
- 0.0.1-SNAPSHOT
- spring-security-jsp-authorize
- Spring Security JSP Authorize tag sample
- war
-
-
- parent-boot-1
- com.baeldung
- 0.0.1-SNAPSHOT
- ../../parent-boot-1
-
-
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-tomcat
-
-
- org.apache.tomcat.embed
- tomcat-embed-jasper
- provided
-
-
- javax.servlet
- jstl
-
-
- org.springframework.security
- spring-security-taglibs
-
-
-
-
diff --git a/spring-security-client/spring-security-jsp-authorize/src/main/java/org/baeldung/config/Application.java b/spring-security-client/spring-security-jsp-authorize/src/main/java/org/baeldung/config/Application.java
deleted file mode 100644
index c2c5939676..0000000000
--- a/spring-security-client/spring-security-jsp-authorize/src/main/java/org/baeldung/config/Application.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.web.support.SpringBootServletInitializer;
-
-@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
-public class Application extends SpringBootServletInitializer {
-
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
- return application.sources(Application.class);
- }
-
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
-
-}
diff --git a/spring-security-client/spring-security-jsp-authorize/src/main/java/org/baeldung/config/MvcConfig.java b/spring-security-client/spring-security-jsp-authorize/src/main/java/org/baeldung/config/MvcConfig.java
deleted file mode 100644
index fa2a324146..0000000000
--- a/spring-security-client/spring-security-jsp-authorize/src/main/java/org/baeldung/config/MvcConfig.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-@Configuration
-public class MvcConfig extends WebMvcConfigurerAdapter {
-
- public MvcConfig() {
- super();
- }
-
- //
-
- @Override
- public void addViewControllers(final ViewControllerRegistry registry) {
- super.addViewControllers(registry);
- registry.addViewController("/").setViewName("forward:/index");
- registry.addViewController("/index");
- }
-
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-authorize/src/main/java/org/baeldung/config/SecurityConfig.java b/spring-security-client/spring-security-jsp-authorize/src/main/java/org/baeldung/config/SecurityConfig.java
deleted file mode 100644
index bd6c56d38a..0000000000
--- a/spring-security-client/spring-security-jsp-authorize/src/main/java/org/baeldung/config/SecurityConfig.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-@Configuration
-@EnableWebSecurity
-public class SecurityConfig extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
- // @formatter:off
- auth.inMemoryAuthentication()
- .withUser("john").password("123").roles("USER")
- .and()
- .withUser("tom").password("111").roles("ADMIN");
- // @formatter:on
- }
-
- @Override
- public void configure(WebSecurity web) throws Exception {
- web.ignoring().antMatchers("/resources/**");
- }
-
- @Override
- protected void configure(final HttpSecurity http) throws Exception {
- // @formatter:off
- http.authorizeRequests()
- .antMatchers("/login").permitAll()
- .antMatchers("/admin").hasRole("ADMIN")
- .anyRequest().authenticated()
- .and().formLogin().permitAll()
- ;
- // @formatter:on
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-authorize/src/main/resources/application.properties b/spring-security-client/spring-security-jsp-authorize/src/main/resources/application.properties
deleted file mode 100644
index 26a80c79f3..0000000000
--- a/spring-security-client/spring-security-jsp-authorize/src/main/resources/application.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-server.port: 8081
-spring.mvc.view.prefix: /WEB-INF/jsp/
-spring.mvc.view.suffix: .jsp
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-authorize/src/main/webapp/WEB-INF/jsp/index.jsp b/spring-security-client/spring-security-jsp-authorize/src/main/webapp/WEB-INF/jsp/index.jsp
deleted file mode 100644
index 08af845bd4..0000000000
--- a/spring-security-client/spring-security-jsp-authorize/src/main/webapp/WEB-INF/jsp/index.jsp
+++ /dev/null
@@ -1,33 +0,0 @@
- <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
-
-
-
-
-Spring Security JSP Authorize
-
-
-
-
-
-
-
-
-
-
-
- Only admins can see this message
-
-
-
- Only users can see this message
-
-
-
-
- Only users who can call "/admin" URL can see this message
-
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-config/src/main/java/org/baeldung/config/Application.java b/spring-security-client/spring-security-jsp-config/src/main/java/org/baeldung/config/Application.java
deleted file mode 100644
index c2c5939676..0000000000
--- a/spring-security-client/spring-security-jsp-config/src/main/java/org/baeldung/config/Application.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.web.support.SpringBootServletInitializer;
-
-@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
-public class Application extends SpringBootServletInitializer {
-
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
- return application.sources(Application.class);
- }
-
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
-
-}
diff --git a/spring-security-client/spring-security-jsp-config/src/main/java/org/baeldung/config/MvcConfig.java b/spring-security-client/spring-security-jsp-config/src/main/java/org/baeldung/config/MvcConfig.java
deleted file mode 100644
index fa2a324146..0000000000
--- a/spring-security-client/spring-security-jsp-config/src/main/java/org/baeldung/config/MvcConfig.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-@Configuration
-public class MvcConfig extends WebMvcConfigurerAdapter {
-
- public MvcConfig() {
- super();
- }
-
- //
-
- @Override
- public void addViewControllers(final ViewControllerRegistry registry) {
- super.addViewControllers(registry);
- registry.addViewController("/").setViewName("forward:/index");
- registry.addViewController("/index");
- }
-
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-config/src/main/java/org/baeldung/config/SecurityConfig.java b/spring-security-client/spring-security-jsp-config/src/main/java/org/baeldung/config/SecurityConfig.java
deleted file mode 100644
index bd6c56d38a..0000000000
--- a/spring-security-client/spring-security-jsp-config/src/main/java/org/baeldung/config/SecurityConfig.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-@Configuration
-@EnableWebSecurity
-public class SecurityConfig extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
- // @formatter:off
- auth.inMemoryAuthentication()
- .withUser("john").password("123").roles("USER")
- .and()
- .withUser("tom").password("111").roles("ADMIN");
- // @formatter:on
- }
-
- @Override
- public void configure(WebSecurity web) throws Exception {
- web.ignoring().antMatchers("/resources/**");
- }
-
- @Override
- protected void configure(final HttpSecurity http) throws Exception {
- // @formatter:off
- http.authorizeRequests()
- .antMatchers("/login").permitAll()
- .antMatchers("/admin").hasRole("ADMIN")
- .anyRequest().authenticated()
- .and().formLogin().permitAll()
- ;
- // @formatter:on
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-config/src/main/resources/application.properties b/spring-security-client/spring-security-jsp-config/src/main/resources/application.properties
deleted file mode 100644
index 26a80c79f3..0000000000
--- a/spring-security-client/spring-security-jsp-config/src/main/resources/application.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-server.port: 8081
-spring.mvc.view.prefix: /WEB-INF/jsp/
-spring.mvc.view.suffix: .jsp
\ No newline at end of file
diff --git a/spring-security-client/spring-security-jsp-config/src/main/webapp/WEB-INF/jsp/index.jsp b/spring-security-client/spring-security-jsp-config/src/main/webapp/WEB-INF/jsp/index.jsp
deleted file mode 100644
index bd5ccb0c78..0000000000
--- a/spring-security-client/spring-security-jsp-config/src/main/webapp/WEB-INF/jsp/index.jsp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-Spring Security JSP
-
-
-
-
-
-
-
-
-
-
- Welcome
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-mvc/pom.xml b/spring-security-client/spring-security-mvc/pom.xml
deleted file mode 100644
index 75298026a8..0000000000
--- a/spring-security-client/spring-security-mvc/pom.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
- 4.0.0
- com.baeldung
- spring-security-mvc
- 0.0.1-SNAPSHOT
- spring-security-mvc
- Spring Security MVC
- war
-
-
- parent-boot-1
- com.baeldung
- 0.0.1-SNAPSHOT
- ../../parent-boot-1
-
-
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
-
diff --git a/spring-security-client/spring-security-mvc/src/main/java/org/baeldung/config/Application.java b/spring-security-client/spring-security-mvc/src/main/java/org/baeldung/config/Application.java
deleted file mode 100644
index 34c43fbe5a..0000000000
--- a/spring-security-client/spring-security-mvc/src/main/java/org/baeldung/config/Application.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.web.support.SpringBootServletInitializer;
-
-@SpringBootApplication
-public class Application extends SpringBootServletInitializer {
-
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
- return application.sources(Application.class);
- }
-
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
-
-}
diff --git a/spring-security-client/spring-security-mvc/src/main/java/org/baeldung/config/SecurityConfig.java b/spring-security-client/spring-security-mvc/src/main/java/org/baeldung/config/SecurityConfig.java
deleted file mode 100644
index bd6c56d38a..0000000000
--- a/spring-security-client/spring-security-mvc/src/main/java/org/baeldung/config/SecurityConfig.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-@Configuration
-@EnableWebSecurity
-public class SecurityConfig extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
- // @formatter:off
- auth.inMemoryAuthentication()
- .withUser("john").password("123").roles("USER")
- .and()
- .withUser("tom").password("111").roles("ADMIN");
- // @formatter:on
- }
-
- @Override
- public void configure(WebSecurity web) throws Exception {
- web.ignoring().antMatchers("/resources/**");
- }
-
- @Override
- protected void configure(final HttpSecurity http) throws Exception {
- // @formatter:off
- http.authorizeRequests()
- .antMatchers("/login").permitAll()
- .antMatchers("/admin").hasRole("ADMIN")
- .anyRequest().authenticated()
- .and().formLogin().permitAll()
- ;
- // @formatter:on
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-mvc/src/main/resources/application.properties b/spring-security-client/spring-security-mvc/src/main/resources/application.properties
deleted file mode 100644
index c2eee0d931..0000000000
--- a/spring-security-client/spring-security-mvc/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-server.port: 8081
\ No newline at end of file
diff --git a/spring-security-client/spring-security-mvc/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-security-client/spring-security-mvc/src/test/java/org/baeldung/SpringContextIntegrationTest.java
deleted file mode 100644
index 66243ef00d..0000000000
--- a/spring-security-client/spring-security-mvc/src/test/java/org/baeldung/SpringContextIntegrationTest.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.baeldung;
-
-import org.baeldung.config.Application;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = Application.class)
-public class SpringContextIntegrationTest {
-
- @Test
- public void whenSpringContextIsBootstrapped_thenNoExceptions() {
- }
-}
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/pom.xml b/spring-security-client/spring-security-thymeleaf-authentication/pom.xml
deleted file mode 100644
index 01d2c6bdbe..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/pom.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 4.0.0
-
- com.baeldung
- spring-security-thymeleaf-authentication
- 0.0.1-SNAPSHOT
- spring-security-thymeleaf-authentication
- Spring Security thymeleaf authentication tag sample
- war
-
-
- parent-boot-1
- com.baeldung
- 0.0.1-SNAPSHOT
- ../../parent-boot-1
-
-
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-tomcat
-
-
- org.springframework.boot
- spring-boot-starter-thymeleaf
-
-
- org.thymeleaf.extras
- thymeleaf-extras-springsecurity4
-
-
-
-
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/MvcConfig.java b/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/MvcConfig.java
deleted file mode 100644
index 259433f6ae..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/MvcConfig.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
-import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-import org.springframework.context.annotation.Profile;
-
-@Configuration
-@EnableWebMvc
-@Profile("!manual")
-public class MvcConfig extends WebMvcConfigurerAdapter {
-
- public MvcConfig() {
- super();
- }
-
- //
- @Bean
- public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
- return new PropertySourcesPlaceholderConfigurer();
- }
-
- @Override
- public void configureDefaultServletHandling(final DefaultServletHandlerConfigurer configurer) {
- configurer.enable();
- }
-
- @Override
- public void addViewControllers(final ViewControllerRegistry registry) {
- super.addViewControllers(registry);
- registry.addViewController("/").setViewName("forward:/index");
- registry.addViewController("/index");
- }
-
- @Override
- public void addResourceHandlers(final ResourceHandlerRegistry registry) {
- registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/MvcConfigManual.java b/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/MvcConfigManual.java
deleted file mode 100644
index d80527c30a..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/MvcConfigManual.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-
-@Configuration
-@EnableWebMvc
-@Profile("manual")
-public class MvcConfigManual extends WebMvcConfigurerAdapter {
-
- @Override
- public void addViewControllers(ViewControllerRegistry registry) {
- registry.addViewController("/home").setViewName("home");
- registry.addViewController("/").setViewName("home");
- registry.addViewController("/hello").setViewName("hello");
- registry.addViewController("/login").setViewName("login");
- }
-
-}
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/RegistrationController.java b/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/RegistrationController.java
deleted file mode 100644
index 2414ff9cac..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/RegistrationController.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.baeldung.config;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Profile;
-import org.springframework.security.authentication.AbstractAuthenticationToken;
-import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.authentication.BadCredentialsException;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.web.authentication.WebAuthenticationDetails;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Manually authenticate a user using Spring Security / Spring Web MVC' (upon successful account registration)
- * (http://stackoverflow.com/questions/4664893/how-to-manually-set-an-authenticated-user-in-spring-security-springmvc)
- *
- * @author jim clayson
- */
-@Controller
-@Profile("manual")
-public class RegistrationController {
- private static final Logger logger = LoggerFactory.getLogger(RegistrationController.class);
-
- @Autowired
- private AuthenticationManager authenticationManager;
-
- /**
- * For demo purposes this need only be a GET request method
- *
- * @param request
- * @param response
- * @return The view. Page confirming either successful registration (and/or
- * successful authentication) or failed registration.
- */
- @GetMapping("/register")
- public String registerAndAuthenticate(HttpServletRequest request, HttpServletResponse response) {
- logger.debug("registerAndAuthenticate: attempt to register, application should manually authenticate.");
-
- // Mocked values. Potentially could come from an HTML registration form,
- // in which case this mapping would match on an HTTP POST, rather than a GET
- String username = "user";
- String password = "password";
-
- if (requestQualifiesForManualAuthentication()) {
- try {
- authenticate(username, password, request, response);
- logger.debug("registerAndAuthenticate: authentication completed.");
- } catch (BadCredentialsException bce) {
- logger.debug("Authentication failure: bad credentials");
- bce.printStackTrace();
- return "systemError"; // assume a low-level error, since the registration
- // form would have been successfully validated
- }
- }
-
- return "registrationSuccess";
- }
-
- private boolean requestQualifiesForManualAuthentication() {
- // Some processing to determine that the user requires a Spring Security-recognized,
- // application-directed login e.g. successful account registration.
- return true;
- }
-
- private void authenticate(String username, String password, HttpServletRequest request, HttpServletResponse response) throws BadCredentialsException {
- logger.debug("attempting to authenticated, manually ... ");
-
- // create and populate the token
- AbstractAuthenticationToken authToken = new UsernamePasswordAuthenticationToken(username, password);
- authToken.setDetails(new WebAuthenticationDetails(request));
-
- // This call returns an authentication object, which holds principle and user credentials
- Authentication authentication = this.authenticationManager.authenticate(authToken);
-
- // The security context holds the authentication object, and is stored
- // in thread local scope.
- SecurityContextHolder.getContext().setAuthentication(authentication);
-
- logger.debug("User should now be authenticated.");
- }
-
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/SecurityConfig.java b/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/SecurityConfig.java
deleted file mode 100644
index 153cc67661..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/SecurityConfig.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-import org.springframework.context.annotation.Profile;
-
-@Configuration
-@EnableWebSecurity
-@Profile("!manual")
-public class SecurityConfig extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
- // @formatter:off
- auth.inMemoryAuthentication()
- .withUser("john").password("123").roles("USER")
- .and()
- .withUser("tom").password("111").roles("ADMIN");
- // @formatter:on
- }
-
- @Override
- public void configure(WebSecurity web) throws Exception {
- web.ignoring().antMatchers("/resources/**");
- }
-
- @Override
- protected void configure(final HttpSecurity http) throws Exception {
- // @formatter:off
- http.authorizeRequests()
- .antMatchers("/login").permitAll()
- .antMatchers("/admin").hasRole("ADMIN")
- .anyRequest().authenticated()
- .and().formLogin().permitAll()
- ;
- // @formatter:on
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/WebSecurityConfigManual.java b/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/WebSecurityConfigManual.java
deleted file mode 100644
index 180a53deba..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/java/org/baeldung/config/WebSecurityConfigManual.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-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;
-
-@Configuration
-@EnableWebSecurity
-@Profile("manual")
-public class WebSecurityConfigManual extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(HttpSecurity http) throws Exception {
- // @formatter:off
- http
- .authorizeRequests()
- .antMatchers("/", "/home", "/register").permitAll()
- .anyRequest().authenticated()
- .and()
- .formLogin()
- .loginPage("/login").permitAll()
- .and()
- .logout().permitAll();
- // @formatter:on
- }
-
- @Autowired
- public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
- auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
- }
-}
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/application.properties b/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/application.properties
deleted file mode 100644
index bafddced85..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-server.port=8081
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/logback.xml b/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/hello.html b/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/hello.html
deleted file mode 100644
index b37731b0ed..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/hello.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- Hello World!
-
-
- Hello [[${#httpServletRequest.remoteUser}]]!
-
- Click here to go to the home page.
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/home.html b/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/home.html
deleted file mode 100644
index 6dbdf491c6..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/home.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- Spring Security Example
-
-
- Welcome!
-
- Click here to see a greeting.
- Click here to send a dummy registration request, where the application logs you in.
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/index.html b/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/index.html
deleted file mode 100644
index c65b5f092b..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-Spring Security Thymeleaf
-
-
-
-
-
-
-
-
-
-
- Current user name: Bob
-
- Current user roles: [ROLE_USER, ROLE_ADMIN]
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/login.html b/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/login.html
deleted file mode 100644
index 3f28efac69..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/login.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- Spring Security Example
-
-
-
- Invalid username and password.
-
-
- You have been logged out.
-
-
- Click here to go to the home page.
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/registrationError.html b/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/registrationError.html
deleted file mode 100644
index 756cc2390d..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/registrationError.html
+++ /dev/null
@@ -1 +0,0 @@
-Registration could not be completed at this time. Please try again later or contact support!
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/registrationSuccess.html b/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/registrationSuccess.html
deleted file mode 100644
index b1c4336f2f..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/main/resources/templates/registrationSuccess.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- Registration Success!
-
-
- Registration succeeded. You have been logged in by the system. Welcome [[${#httpServletRequest.remoteUser}]]!
-
- Click here to go to the home page.
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authentication/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-security-client/spring-security-thymeleaf-authentication/src/test/java/org/baeldung/SpringContextIntegrationTest.java
deleted file mode 100644
index 66243ef00d..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authentication/src/test/java/org/baeldung/SpringContextIntegrationTest.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.baeldung;
-
-import org.baeldung.config.Application;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = Application.class)
-public class SpringContextIntegrationTest {
-
- @Test
- public void whenSpringContextIsBootstrapped_thenNoExceptions() {
- }
-}
diff --git a/spring-security-client/spring-security-thymeleaf-authorize/pom.xml b/spring-security-client/spring-security-thymeleaf-authorize/pom.xml
deleted file mode 100644
index 8c600c1f81..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authorize/pom.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
- 4.0.0
-
- com.baeldung
- spring-security-thymeleaf-authorize
- 0.0.1-SNAPSHOT
- spring-security-thymeleaf-authorize
- Spring Security thymeleaf authorize tag sample
- war
-
-
- parent-boot-1
- com.baeldung
- 0.0.1-SNAPSHOT
- ../../parent-boot-1
-
-
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-tomcat
-
-
- org.springframework.boot
- spring-boot-starter-thymeleaf
-
-
- org.thymeleaf.extras
- thymeleaf-extras-springsecurity4
-
-
-
-
diff --git a/spring-security-client/spring-security-thymeleaf-authorize/src/main/java/org/baeldung/config/MvcConfig.java b/spring-security-client/spring-security-thymeleaf-authorize/src/main/java/org/baeldung/config/MvcConfig.java
deleted file mode 100644
index 9ade60e54c..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authorize/src/main/java/org/baeldung/config/MvcConfig.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
-import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-@Configuration
-@EnableWebMvc
-public class MvcConfig extends WebMvcConfigurerAdapter {
-
- public MvcConfig() {
- super();
- }
-
- //
- @Bean
- public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
- return new PropertySourcesPlaceholderConfigurer();
- }
-
- @Override
- public void configureDefaultServletHandling(final DefaultServletHandlerConfigurer configurer) {
- configurer.enable();
- }
-
- @Override
- public void addViewControllers(final ViewControllerRegistry registry) {
- super.addViewControllers(registry);
- registry.addViewController("/").setViewName("forward:/index");
- registry.addViewController("/index");
- }
-
- @Override
- public void addResourceHandlers(final ResourceHandlerRegistry registry) {
- registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authorize/src/main/java/org/baeldung/config/SecurityConfig.java b/spring-security-client/spring-security-thymeleaf-authorize/src/main/java/org/baeldung/config/SecurityConfig.java
deleted file mode 100644
index bd6c56d38a..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authorize/src/main/java/org/baeldung/config/SecurityConfig.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-@Configuration
-@EnableWebSecurity
-public class SecurityConfig extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
- // @formatter:off
- auth.inMemoryAuthentication()
- .withUser("john").password("123").roles("USER")
- .and()
- .withUser("tom").password("111").roles("ADMIN");
- // @formatter:on
- }
-
- @Override
- public void configure(WebSecurity web) throws Exception {
- web.ignoring().antMatchers("/resources/**");
- }
-
- @Override
- protected void configure(final HttpSecurity http) throws Exception {
- // @formatter:off
- http.authorizeRequests()
- .antMatchers("/login").permitAll()
- .antMatchers("/admin").hasRole("ADMIN")
- .anyRequest().authenticated()
- .and().formLogin().permitAll()
- ;
- // @formatter:on
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authorize/src/main/resources/application.properties b/spring-security-client/spring-security-thymeleaf-authorize/src/main/resources/application.properties
deleted file mode 100644
index bafddced85..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authorize/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-server.port=8081
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authorize/src/main/resources/logback.xml b/spring-security-client/spring-security-thymeleaf-authorize/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authorize/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authorize/src/main/resources/templates/index.html b/spring-security-client/spring-security-thymeleaf-authorize/src/main/resources/templates/index.html
deleted file mode 100644
index fcbbfb4957..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authorize/src/main/resources/templates/index.html
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-Spring Security Thymeleaf
-
-
-
-
-
-
-
-
-
-
-
- Only admins can see this message
-
-
-
- Only users can see this message
-
-
-
-
- Only users who can call "/admin" URL can see this message
-
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-authorize/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-security-client/spring-security-thymeleaf-authorize/src/test/java/org/baeldung/SpringContextIntegrationTest.java
deleted file mode 100644
index 66243ef00d..0000000000
--- a/spring-security-client/spring-security-thymeleaf-authorize/src/test/java/org/baeldung/SpringContextIntegrationTest.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.baeldung;
-
-import org.baeldung.config.Application;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = Application.class)
-public class SpringContextIntegrationTest {
-
- @Test
- public void whenSpringContextIsBootstrapped_thenNoExceptions() {
- }
-}
diff --git a/spring-security-client/spring-security-thymeleaf-config/pom.xml b/spring-security-client/spring-security-thymeleaf-config/pom.xml
deleted file mode 100644
index aeda999405..0000000000
--- a/spring-security-client/spring-security-thymeleaf-config/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
- 4.0.0
- com.baeldung
- spring-security-thymeleaf-config
- 0.0.1-SNAPSHOT
- spring-security-thymeleaf-config
- Spring Security thymeleaf configuration sample project
- war
-
-
- parent-boot-1
- com.baeldung
- 0.0.1-SNAPSHOT
- ../../parent-boot-1
-
-
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-tomcat
-
-
- org.springframework.boot
- spring-boot-starter-thymeleaf
-
-
- org.thymeleaf.extras
- thymeleaf-extras-springsecurity4
-
-
-
-
diff --git a/spring-security-client/spring-security-thymeleaf-config/src/main/java/org/baeldung/config/MvcConfig.java b/spring-security-client/spring-security-thymeleaf-config/src/main/java/org/baeldung/config/MvcConfig.java
deleted file mode 100644
index 9ade60e54c..0000000000
--- a/spring-security-client/spring-security-thymeleaf-config/src/main/java/org/baeldung/config/MvcConfig.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
-import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-@Configuration
-@EnableWebMvc
-public class MvcConfig extends WebMvcConfigurerAdapter {
-
- public MvcConfig() {
- super();
- }
-
- //
- @Bean
- public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
- return new PropertySourcesPlaceholderConfigurer();
- }
-
- @Override
- public void configureDefaultServletHandling(final DefaultServletHandlerConfigurer configurer) {
- configurer.enable();
- }
-
- @Override
- public void addViewControllers(final ViewControllerRegistry registry) {
- super.addViewControllers(registry);
- registry.addViewController("/").setViewName("forward:/index");
- registry.addViewController("/index");
- }
-
- @Override
- public void addResourceHandlers(final ResourceHandlerRegistry registry) {
- registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-config/src/main/java/org/baeldung/config/SecurityConfig.java b/spring-security-client/spring-security-thymeleaf-config/src/main/java/org/baeldung/config/SecurityConfig.java
deleted file mode 100644
index bd6c56d38a..0000000000
--- a/spring-security-client/spring-security-thymeleaf-config/src/main/java/org/baeldung/config/SecurityConfig.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.baeldung.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-@Configuration
-@EnableWebSecurity
-public class SecurityConfig extends WebSecurityConfigurerAdapter {
-
- @Override
- protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
- // @formatter:off
- auth.inMemoryAuthentication()
- .withUser("john").password("123").roles("USER")
- .and()
- .withUser("tom").password("111").roles("ADMIN");
- // @formatter:on
- }
-
- @Override
- public void configure(WebSecurity web) throws Exception {
- web.ignoring().antMatchers("/resources/**");
- }
-
- @Override
- protected void configure(final HttpSecurity http) throws Exception {
- // @formatter:off
- http.authorizeRequests()
- .antMatchers("/login").permitAll()
- .antMatchers("/admin").hasRole("ADMIN")
- .anyRequest().authenticated()
- .and().formLogin().permitAll()
- ;
- // @formatter:on
- }
-}
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-config/src/main/resources/application.properties b/spring-security-client/spring-security-thymeleaf-config/src/main/resources/application.properties
deleted file mode 100644
index bafddced85..0000000000
--- a/spring-security-client/spring-security-thymeleaf-config/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-server.port=8081
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-config/src/main/resources/logback.xml b/spring-security-client/spring-security-thymeleaf-config/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/spring-security-client/spring-security-thymeleaf-config/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-security-client/spring-security-thymeleaf-config/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-security-client/spring-security-thymeleaf-config/src/test/java/org/baeldung/SpringContextIntegrationTest.java
deleted file mode 100644
index 66243ef00d..0000000000
--- a/spring-security-client/spring-security-thymeleaf-config/src/test/java/org/baeldung/SpringContextIntegrationTest.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.baeldung;
-
-import org.baeldung.config.Application;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = Application.class)
-public class SpringContextIntegrationTest {
-
- @Test
- public void whenSpringContextIsBootstrapped_thenNoExceptions() {
- }
-}
diff --git a/spring-security-core/README.md b/spring-security-core/README.md
index b38dc061b4..bc9a8afed7 100644
--- a/spring-security-core/README.md
+++ b/spring-security-core/README.md
@@ -10,3 +10,4 @@ mvn clean install
- [Spring Security – @PreFilter and @PostFilter](http://www.baeldung.com/spring-security-prefilter-postfilter)
- [Spring Boot Authentication Auditing Support](http://www.baeldung.com/spring-boot-authentication-audit)
- [Introduction to Spring Method Security](http://www.baeldung.com/spring-security-method-security)
+- [Overview and Need for DelegatingFilterProxy in Spring](https://www.baeldung.com/spring-delegating-filter-proxy)
\ No newline at end of file
diff --git a/spring-security-core/src/main/java/org/baeldung/app/App.java b/spring-security-core/src/main/java/org/baeldung/app/App.java
index 37d8c34c5a..db0c9135c4 100644
--- a/spring-security-core/src/main/java/org/baeldung/app/App.java
+++ b/spring-security-core/src/main/java/org/baeldung/app/App.java
@@ -1,11 +1,15 @@
package org.baeldung.app;
+import javax.servlet.Filter;
+
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.web.filter.DelegatingFilterProxy;
+import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
@SpringBootApplication
@EnableJpaRepositories("org.baeldung.repository")
@@ -15,4 +19,32 @@ public class App extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
+
+ public static class ApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
+
+ @Override
+ protected javax.servlet.Filter[] getServletFilters() {
+ DelegatingFilterProxy delegateFilterProxy = new DelegatingFilterProxy();
+ delegateFilterProxy.setTargetBeanName("loggingFilter");
+ return new Filter[] { delegateFilterProxy };
+ }
+
+ @Override
+ protected Class>[] getRootConfigClasses() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected Class>[] getServletConfigClasses() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected String[] getServletMappings() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+ }
}
diff --git a/spring-5-mvc/src/main/java/com/baeldung/spring/filter/CustomFilter.java b/spring-security-core/src/main/java/org/baeldung/filter/CustomFilter.java
similarity index 96%
rename from spring-5-mvc/src/main/java/com/baeldung/spring/filter/CustomFilter.java
rename to spring-security-core/src/main/java/org/baeldung/filter/CustomFilter.java
index 4aa33cd749..35596eae16 100644
--- a/spring-5-mvc/src/main/java/com/baeldung/spring/filter/CustomFilter.java
+++ b/spring-security-core/src/main/java/org/baeldung/filter/CustomFilter.java
@@ -1,4 +1,4 @@
-package com.baeldung.spring.filter;
+package org.baeldung.filter;
import java.io.IOException;
diff --git a/spring-security-core/src/main/webapp/WEB-INF/web.xml b/spring-security-core/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..e4954338a9
--- /dev/null
+++ b/spring-security-core/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ loggingFilter
+ org.springframework.web.filter.DelegatingFilterProxy
+
+
+
+ loggingFilter
+ /*
+
+
+
\ No newline at end of file
diff --git a/spring-security-core/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-core/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..1707c706ae
--- /dev/null
+++ b/spring-security-core/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.app.App;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = App.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-core/src/test/java/org/baeldung/methodsecurity/TestMethodSecurity.java b/spring-security-core/src/test/java/org/baeldung/methodsecurity/TestMethodSecurity.java
index 309ee3076d..009d9af9fc 100644
--- a/spring-security-core/src/test/java/org/baeldung/methodsecurity/TestMethodSecurity.java
+++ b/spring-security-core/src/test/java/org/baeldung/methodsecurity/TestMethodSecurity.java
@@ -80,7 +80,7 @@ public class TestMethodSecurity {
@Test
@WithMockUser(username = "JOHN", authorities = { "SYS_ADMIN" })
- public void givenAuthoritySysAdmin_whenCallGetUsernameInLowerCase_thenReturnUsername() {
+ public void givenAuthoritySysAdmin_whenCallGetUsernameLC_thenReturnUsername() {
String username = userRoleService.getUsernameLC();
assertEquals("john", username);
}
diff --git a/spring-security-cors/README.md b/spring-security-cors/README.md
new file mode 100644
index 0000000000..2ab5e33ee3
--- /dev/null
+++ b/spring-security-cors/README.md
@@ -0,0 +1,3 @@
+## Relevant Articles
+
+- [Fixing 401s with CORS Preflights and Spring Security](https://www.baeldung.com/spring-security-cors-preflight)
diff --git a/spring-security-mvc-boot/pom.xml b/spring-security-mvc-boot/pom.xml
index 4c25dc01e8..906bebf442 100644
--- a/spring-security-mvc-boot/pom.xml
+++ b/spring-security-mvc-boot/pom.xml
@@ -1,12 +1,13 @@
-
+
4.0.0
com.baeldung
spring-security-mvc-boot
0.0.1-SNAPSHOT
spring-security-mvc-boot
- war
+ pom
Spring Security MVC Boot
@@ -45,10 +46,6 @@
org.springframework.security
spring-security-data
-
- com.h2database
- h2
-
org.hamcrest
hamcrest-core
@@ -198,7 +195,7 @@
**/*LiveTest.java
**/*IntegrationTest.java
- **/*IntTest.java
+ **/*IntTest.java
**/*EntryPointsTest.java
@@ -217,22 +214,13 @@
+
+ spring-security-mvc-boot-default
+ spring-security-mvc-boot-mysql
+ spring-security-mvc-boot-postgre
+
- org.baeldung.custom.Application
-
-
-
-
-
-
-
-
-
1.1.2
1.6.1
2.6.11
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-default/pom.xml b/spring-security-mvc-boot/spring-security-mvc-boot-default/pom.xml
new file mode 100644
index 0000000000..8f7f18f093
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-default/pom.xml
@@ -0,0 +1,42 @@
+
+
+ 4.0.0
+ com.baeldung
+ spring-security-mvc-boot-default
+ 0.0.1-SNAPSHOT
+ spring-security-mvc-boot-default
+ jar
+ Spring Security MVC Boot
+
+
+ spring-security-mvc-boot
+ com.baeldung
+ 0.0.1-SNAPSHOT
+ ../
+
+
+
+
+ com.h2database
+ h2
+
+
+
+
+ org.baeldung.custom.Application
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/AppConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/AppConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/AppConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/AppConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/SpringSecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/SpringSecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/SpringSecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/SpringSecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/data/repositories/TweetRepository.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/data/repositories/TweetRepository.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/data/repositories/TweetRepository.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/data/repositories/TweetRepository.java
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/data/repositories/UserRepository.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/data/repositories/UserRepository.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/data/repositories/UserRepository.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/data/repositories/UserRepository.java
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/models/AppUser.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/models/AppUser.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/models/AppUser.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/models/AppUser.java
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/models/Tweet.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/models/Tweet.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/models/Tweet.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/models/Tweet.java
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/security/AppUserPrincipal.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/security/AppUserPrincipal.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/security/AppUserPrincipal.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/security/AppUserPrincipal.java
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/security/AuthenticationSuccessHandlerImpl.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/security/AuthenticationSuccessHandlerImpl.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/security/AuthenticationSuccessHandlerImpl.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/security/AuthenticationSuccessHandlerImpl.java
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/security/CustomUserDetailsService.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/security/CustomUserDetailsService.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/security/CustomUserDetailsService.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/security/CustomUserDetailsService.java
diff --git a/spring-security-mvc-boot/src/main/java/com/baeldung/util/DummyContentUtil.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/util/DummyContentUtil.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/com/baeldung/util/DummyContentUtil.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/util/DummyContentUtil.java
diff --git a/spring-security-client/spring-security-thymeleaf-config/src/main/java/org/baeldung/config/Application.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/Application.java
similarity index 74%
rename from spring-security-client/spring-security-thymeleaf-config/src/main/java/org/baeldung/config/Application.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/Application.java
index 329b104143..682d429963 100644
--- a/spring-security-client/spring-security-thymeleaf-config/src/main/java/org/baeldung/config/Application.java
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/Application.java
@@ -1,14 +1,12 @@
-package org.baeldung.config;
+package org.baeldung.custom;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.support.SpringBootServletInitializer;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
-
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
-
}
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/config/MethodSecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/config/MethodSecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/config/MethodSecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/config/MethodSecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/config/MvcConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/config/MvcConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/config/MvcConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/config/MvcConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/config/SecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/config/SecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/config/SecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/config/SecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/SetupData.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/SetupData.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/SetupData.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/SetupData.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/dao/OrganizationRepository.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/dao/OrganizationRepository.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/dao/OrganizationRepository.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/dao/OrganizationRepository.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/dao/PrivilegeRepository.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/dao/PrivilegeRepository.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/dao/PrivilegeRepository.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/dao/PrivilegeRepository.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/dao/UserRepository.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/dao/UserRepository.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/dao/UserRepository.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/dao/UserRepository.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/model/Foo.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/model/Foo.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/model/Foo.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/model/Foo.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/model/Organization.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/model/Organization.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/model/Organization.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/model/Organization.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/model/Privilege.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/model/Privilege.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/model/Privilege.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/model/Privilege.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/model/User.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/model/User.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/persistence/model/User.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/persistence/model/User.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/CustomMethodSecurityExpressionHandler.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/CustomMethodSecurityExpressionHandler.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/CustomMethodSecurityExpressionHandler.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/CustomMethodSecurityExpressionHandler.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/CustomMethodSecurityExpressionRoot.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/CustomMethodSecurityExpressionRoot.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/CustomMethodSecurityExpressionRoot.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/CustomMethodSecurityExpressionRoot.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/CustomPermissionEvaluator.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/CustomPermissionEvaluator.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/CustomPermissionEvaluator.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/CustomPermissionEvaluator.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/MySecurityExpressionRoot.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/MySecurityExpressionRoot.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/MySecurityExpressionRoot.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/MySecurityExpressionRoot.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/MyUserDetailsService.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/MyUserDetailsService.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/MyUserDetailsService.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/MyUserDetailsService.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/MyUserPrincipal.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/MyUserPrincipal.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/security/MyUserPrincipal.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/security/MyUserPrincipal.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/web/MainController.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/web/MainController.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/custom/web/MainController.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/custom/web/MainController.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/ip/IpApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/IpApplication.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/ip/IpApplication.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/IpApplication.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/ip/config/CustomIpAuthenticationProvider.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/config/CustomIpAuthenticationProvider.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/ip/config/CustomIpAuthenticationProvider.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/config/CustomIpAuthenticationProvider.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/ip/config/SecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/config/SecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/ip/config/SecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/config/SecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/ip/config/SecurityXmlConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/config/SecurityXmlConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/ip/config/SecurityXmlConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/config/SecurityXmlConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/ip/web/MainController.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/web/MainController.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/ip/web/MainController.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ip/web/MainController.java
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/jdbcauthentication/h2/H2JdbcAuthenticationApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/jdbcauthentication/h2/H2JdbcAuthenticationApplication.java
new file mode 100644
index 0000000000..6bd30414ef
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/jdbcauthentication/h2/H2JdbcAuthenticationApplication.java
@@ -0,0 +1,15 @@
+package org.baeldung.jdbcauthentication.h2;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+
+@SpringBootApplication
+@EnableWebSecurity
+public class H2JdbcAuthenticationApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(H2JdbcAuthenticationApplication.class, args);
+ }
+
+}
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/jdbcauthentication/h2/config/SecurityConfiguration.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/jdbcauthentication/h2/config/SecurityConfiguration.java
new file mode 100644
index 0000000000..8b8696f0b2
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/jdbcauthentication/h2/config/SecurityConfiguration.java
@@ -0,0 +1,51 @@
+package org.baeldung.jdbcauthentication.h2.config;
+
+import javax.sql.DataSource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+import org.springframework.security.core.userdetails.User;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+
+@Configuration
+public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
+ @Override
+ protected void configure(HttpSecurity httpSecurity) throws Exception {
+ httpSecurity.authorizeRequests()
+ .antMatchers("/h2-console/**")
+ .permitAll()
+ .anyRequest()
+ .authenticated()
+ .and()
+ .formLogin()
+ .permitAll();
+ httpSecurity.csrf()
+ .ignoringAntMatchers("/h2-console/**");
+ httpSecurity.headers()
+ .frameOptions()
+ .sameOrigin();
+ }
+
+ @Autowired
+ private DataSource dataSource;
+
+ @Autowired
+ public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
+ auth.jdbcAuthentication()
+ .dataSource(dataSource)
+ .withDefaultSchema()
+ .withUser(User.withUsername("user")
+ .password(passwordEncoder().encode("pass"))
+ .roles("USER"));
+ }
+
+ @Bean
+ public PasswordEncoder passwordEncoder() {
+ return new BCryptPasswordEncoder();
+ }
+}
\ No newline at end of file
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/jdbcauthentication/h2/web/UserController.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/jdbcauthentication/h2/web/UserController.java
new file mode 100644
index 0000000000..0955061614
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/jdbcauthentication/h2/web/UserController.java
@@ -0,0 +1,17 @@
+package org.baeldung.jdbcauthentication.h2.web;
+
+import java.security.Principal;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/principal")
+public class UserController {
+
+ @GetMapping
+ public Principal retrievePrincipal(Principal principal) {
+ return principal;
+ }
+}
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multipleauthproviders/CustomAuthenticationProvider.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleauthproviders/CustomAuthenticationProvider.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multipleauthproviders/CustomAuthenticationProvider.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleauthproviders/CustomAuthenticationProvider.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthController.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthController.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthController.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthController.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthProvidersApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthProvidersApplication.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthProvidersApplication.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthProvidersApplication.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthProvidersSecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthProvidersSecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthProvidersSecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleauthproviders/MultipleAuthProvidersSecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multipleentrypoints/MultipleEntryPointsApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleentrypoints/MultipleEntryPointsApplication.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multipleentrypoints/MultipleEntryPointsApplication.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleentrypoints/MultipleEntryPointsApplication.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multipleentrypoints/MultipleEntryPointsSecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleentrypoints/MultipleEntryPointsSecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multipleentrypoints/MultipleEntryPointsSecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleentrypoints/MultipleEntryPointsSecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multipleentrypoints/PagesController.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleentrypoints/PagesController.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multipleentrypoints/PagesController.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multipleentrypoints/PagesController.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multiplelogin/MultipleLoginApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multiplelogin/MultipleLoginApplication.java
similarity index 69%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multiplelogin/MultipleLoginApplication.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multiplelogin/MultipleLoginApplication.java
index e9dc541ad3..d25324eb54 100644
--- a/spring-security-mvc-boot/src/main/java/org/baeldung/multiplelogin/MultipleLoginApplication.java
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multiplelogin/MultipleLoginApplication.java
@@ -1,11 +1,8 @@
package org.baeldung.multiplelogin;
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan("org.baeldung.multiplelogin")
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multiplelogin/MultipleLoginMvcConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multiplelogin/MultipleLoginMvcConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multiplelogin/MultipleLoginMvcConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multiplelogin/MultipleLoginMvcConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multiplelogin/MultipleLoginSecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multiplelogin/MultipleLoginSecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multiplelogin/MultipleLoginSecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multiplelogin/MultipleLoginSecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/multiplelogin/UsersController.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multiplelogin/UsersController.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/multiplelogin/UsersController.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/multiplelogin/UsersController.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/CustomAuthenticationProvider.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/CustomAuthenticationProvider.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/CustomAuthenticationProvider.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/CustomAuthenticationProvider.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/MyLogoutSuccessHandler.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/MyLogoutSuccessHandler.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/MyLogoutSuccessHandler.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/MyLogoutSuccessHandler.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/MyUserDetailsService.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/MyUserDetailsService.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/MyUserDetailsService.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/MyUserDetailsService.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/RolesAuthoritiesApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/RolesAuthoritiesApplication.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/RolesAuthoritiesApplication.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/RolesAuthoritiesApplication.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/config/MvcConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/config/MvcConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/config/MvcConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/config/MvcConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/config/SecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/config/SecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/config/SecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/config/SecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/model/Privilege.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/model/Privilege.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/model/Privilege.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/model/Privilege.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/model/Role.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/model/Role.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/model/Role.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/model/Role.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/model/User.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/model/User.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/model/User.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/model/User.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/IUserService.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/IUserService.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/IUserService.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/IUserService.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/PrivilegeRepository.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/PrivilegeRepository.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/PrivilegeRepository.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/PrivilegeRepository.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/RoleRepository.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/RoleRepository.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/RoleRepository.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/RoleRepository.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/SetupDataLoader.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/SetupDataLoader.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/SetupDataLoader.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/SetupDataLoader.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/UserRepository.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/UserRepository.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/UserRepository.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/UserRepository.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/UserService.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/UserService.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/rolesauthorities/persistence/UserService.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/rolesauthorities/persistence/UserService.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/ssl/HttpsEnabledApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ssl/HttpsEnabledApplication.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/ssl/HttpsEnabledApplication.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ssl/HttpsEnabledApplication.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/ssl/SecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ssl/SecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/ssl/SecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ssl/SecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/ssl/WelcomeController.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ssl/WelcomeController.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/ssl/WelcomeController.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/ssl/WelcomeController.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/voter/MinuteBasedVoter.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/MinuteBasedVoter.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/voter/MinuteBasedVoter.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/MinuteBasedVoter.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/voter/VoterApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/VoterApplication.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/voter/VoterApplication.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/VoterApplication.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/voter/VoterMvcConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/VoterMvcConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/voter/VoterMvcConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/VoterMvcConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/voter/WebSecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/WebSecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/voter/WebSecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/WebSecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/voter/XmlSecurityConfig.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/XmlSecurityConfig.java
similarity index 100%
rename from spring-security-mvc-boot/src/main/java/org/baeldung/voter/XmlSecurityConfig.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/org/baeldung/voter/XmlSecurityConfig.java
diff --git a/spring-security-mvc-boot/src/main/resources/application-ssl.properties b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/application-ssl.properties
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/application-ssl.properties
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/application-ssl.properties
diff --git a/spring-security-mvc-boot/src/main/resources/application.properties b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/application.properties
similarity index 74%
rename from spring-security-mvc-boot/src/main/resources/application.properties
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/application.properties
index 25eac743d1..365dedab9e 100644
--- a/spring-security-mvc-boot/src/main/resources/application.properties
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/application.properties
@@ -8,5 +8,7 @@ spring.jpa.database=H2
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
+logging.level.org.springframework.security.web.FilterChainProxy=DEBUG
-#logging.level.org.springframework.security.web.FilterChainProxy=DEBUG
\ No newline at end of file
+spring.h2.console.enabled=true
+spring.h2.console.path=/h2-console
\ No newline at end of file
diff --git a/spring-security-mvc-boot/src/main/resources/keystore/baeldung.p12 b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/keystore/baeldung.p12
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/keystore/baeldung.p12
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/keystore/baeldung.p12
diff --git a/spring-security-client/spring-security-jsp-authentication/src/main/resources/logback.xml b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/logback.xml
similarity index 100%
rename from spring-security-client/spring-security-jsp-authentication/src/main/resources/logback.xml
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/logback.xml
diff --git a/spring-security-mvc-boot/src/main/resources/persistence-h2.properties b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/persistence-h2.properties
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/persistence-h2.properties
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/persistence-h2.properties
diff --git a/spring-security-mvc-boot/src/main/resources/spring-security-custom-voter.xml b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/spring-security-custom-voter.xml
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/spring-security-custom-voter.xml
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/spring-security-custom-voter.xml
diff --git a/spring-security-mvc-boot/src/main/resources/spring-security-ip.xml b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/spring-security-ip.xml
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/spring-security-ip.xml
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/spring-security-ip.xml
diff --git a/spring-security-mvc-boot/src/main/resources/spring-security-multiple-auth-providers.xml b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/spring-security-multiple-auth-providers.xml
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/spring-security-multiple-auth-providers.xml
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/spring-security-multiple-auth-providers.xml
diff --git a/spring-security-mvc-boot/src/main/resources/spring-security-multiple-entry.xml b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/spring-security-multiple-entry.xml
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/spring-security-multiple-entry.xml
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/spring-security-multiple-entry.xml
diff --git a/spring-security-mvc-boot/src/main/resources/templates/403.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/403.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/403.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/403.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/adminPage.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/adminPage.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/adminPage.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/adminPage.html
diff --git a/spring-security-client/spring-security-thymeleaf-config/src/main/resources/templates/index.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/index.html
similarity index 100%
rename from spring-security-client/spring-security-thymeleaf-config/src/main/resources/templates/index.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/index.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/login.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/login.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/login.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/login.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/loginAdmin.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/loginAdmin.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/loginAdmin.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/loginAdmin.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/loginUser.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/loginUser.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/loginUser.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/loginUser.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/login.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/login.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/login.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/login.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/loginWithWarning.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/loginWithWarning.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/loginWithWarning.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/loginWithWarning.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/multipleHttpLinks.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/multipleHttpLinks.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/multipleHttpLinks.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/multipleHttpLinks.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/myAdminPage.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/myAdminPage.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/myAdminPage.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/myAdminPage.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/myGuestPage.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/myGuestPage.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/myGuestPage.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/myGuestPage.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/myPrivateUserPage.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/myPrivateUserPage.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/myPrivateUserPage.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/myPrivateUserPage.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/myUserPage.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/myUserPage.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/multipleHttpElems/myUserPage.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/multipleHttpElems/myUserPage.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/private.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/private.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/private.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/private.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/protectedLinks.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/protectedLinks.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/protectedLinks.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/protectedLinks.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/home.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/home.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/home.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/home.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/login.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/login.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/login.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/login.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/protectedbyauthority.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/protectedbyauthority.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/protectedbyauthority.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/protectedbyauthority.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/protectedbynothing.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/protectedbynothing.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/protectedbynothing.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/protectedbynothing.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/protectedbyrole.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/protectedbyrole.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/rolesauthorities/protectedbyrole.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/rolesauthorities/protectedbyrole.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/ssl/welcome.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/ssl/welcome.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/ssl/welcome.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/ssl/welcome.html
diff --git a/spring-security-mvc-boot/src/main/resources/templates/userPage.html b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/userPage.html
similarity index 100%
rename from spring-security-mvc-boot/src/main/resources/templates/userPage.html
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/resources/templates/userPage.html
diff --git a/spring-security-mvc-boot/src/test/java/com/baeldung/relationships/SpringDataWithSecurityIntegrationTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/com/baeldung/relationships/SpringDataWithSecurityIntegrationTest.java
similarity index 100%
rename from spring-security-mvc-boot/src/test/java/com/baeldung/relationships/SpringDataWithSecurityIntegrationTest.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/com/baeldung/relationships/SpringDataWithSecurityIntegrationTest.java
diff --git a/spring-security-mvc-boot/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/SpringContextIntegrationTest.java
similarity index 100%
rename from spring-security-mvc-boot/src/test/java/org/baeldung/SpringContextIntegrationTest.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/SpringContextIntegrationTest.java
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/jdbcauthentication/h2/web/UserControllerLiveTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/jdbcauthentication/h2/web/UserControllerLiveTest.java
new file mode 100644
index 0000000000..638e9d7919
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/jdbcauthentication/h2/web/UserControllerLiveTest.java
@@ -0,0 +1,35 @@
+package org.baeldung.jdbcauthentication.h2.web;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.is;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.http.HttpStatus;
+
+import io.restassured.authentication.FormAuthConfig;
+import io.restassured.filter.session.SessionFilter;
+
+/**
+ * This Live Test requires the H2JdbcAuthenticationApplication application to be up and running
+ */
+public class UserControllerLiveTest {
+
+ private static final String PRINCIPAL_SVC_URL = "http://localhost:8082/principal";
+
+ @Test
+ public void givenExisting_whenRequestPrincipal_thenRetrieveData() throws Exception {
+ SessionFilter filter = new SessionFilter();
+ given().auth()
+ .form("user", "pass", new FormAuthConfig("/login", "username", "password").withCsrfFieldName("_csrf"))
+ .and()
+ .filter(filter)
+ .when()
+ .get(PRINCIPAL_SVC_URL)
+ .then()
+ .statusCode(HttpStatus.OK.value())
+ .and()
+ .body("authorities[0].authority", is("ROLE_USER"))
+ .body("principal.username", is("user"))
+ .body("name", is("user"));
+ }
+}
diff --git a/spring-security-mvc-boot/src/test/java/org/baeldung/web/ApplicationLiveTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/ApplicationLiveTest.java
similarity index 100%
rename from spring-security-mvc-boot/src/test/java/org/baeldung/web/ApplicationLiveTest.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/ApplicationLiveTest.java
diff --git a/spring-security-mvc-boot/src/test/java/org/baeldung/web/CustomUserDetailsServiceIntegrationTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/CustomUserDetailsServiceIntegrationTest.java
similarity index 100%
rename from spring-security-mvc-boot/src/test/java/org/baeldung/web/CustomUserDetailsServiceIntegrationTest.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/CustomUserDetailsServiceIntegrationTest.java
diff --git a/spring-security-mvc-boot/src/test/java/org/baeldung/web/HttpsApplicationIntegrationTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/HttpsApplicationIntegrationTest.java
similarity index 100%
rename from spring-security-mvc-boot/src/test/java/org/baeldung/web/HttpsApplicationIntegrationTest.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/HttpsApplicationIntegrationTest.java
diff --git a/spring-security-mvc-boot/src/test/java/org/baeldung/web/IpLiveTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/IpLiveTest.java
similarity index 100%
rename from spring-security-mvc-boot/src/test/java/org/baeldung/web/IpLiveTest.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/IpLiveTest.java
diff --git a/spring-security-mvc-boot/src/test/java/org/baeldung/web/MultipleAuthProvidersApplicationIntegrationTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/MultipleAuthProvidersApplicationIntegrationTest.java
similarity index 100%
rename from spring-security-mvc-boot/src/test/java/org/baeldung/web/MultipleAuthProvidersApplicationIntegrationTest.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/MultipleAuthProvidersApplicationIntegrationTest.java
diff --git a/spring-security-mvc-boot/src/test/java/org/baeldung/web/MultipleEntryPointsIntegrationTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/MultipleEntryPointsIntegrationTest.java
similarity index 100%
rename from spring-security-mvc-boot/src/test/java/org/baeldung/web/MultipleEntryPointsIntegrationTest.java
rename to spring-security-mvc-boot/spring-security-mvc-boot-default/src/test/java/org/baeldung/web/MultipleEntryPointsIntegrationTest.java
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-mysql/pom.xml b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/pom.xml
new file mode 100644
index 0000000000..765953c557
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+ com.baeldung
+ spring-security-mvc-boot-mysql
+ 0.0.1-SNAPSHOT
+ spring-security-mvc-boot-mysql
+ jar
+ Spring Security MVC Boot using MySQL
+
+
+ spring-security-mvc-boot
+ com.baeldung
+ 0.0.1-SNAPSHOT
+ ..
+
+
+
+
+ mysql
+ mysql-connector-java
+ runtime
+
+
+
+
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/java/com/baeldung/jdbcauthentication/mysql/MySqlJdbcAuthenticationApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/java/com/baeldung/jdbcauthentication/mysql/MySqlJdbcAuthenticationApplication.java
new file mode 100644
index 0000000000..238a48730c
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/java/com/baeldung/jdbcauthentication/mysql/MySqlJdbcAuthenticationApplication.java
@@ -0,0 +1,13 @@
+package com.baeldung.jdbcauthentication.mysql;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class MySqlJdbcAuthenticationApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(MySqlJdbcAuthenticationApplication.class, args);
+ }
+
+}
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/java/com/baeldung/jdbcauthentication/mysql/config/SecurityConfiguration.java b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/java/com/baeldung/jdbcauthentication/mysql/config/SecurityConfiguration.java
new file mode 100644
index 0000000000..a0584818cd
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/java/com/baeldung/jdbcauthentication/mysql/config/SecurityConfiguration.java
@@ -0,0 +1,35 @@
+package com.baeldung.jdbcauthentication.mysql.config;
+
+import javax.sql.DataSource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+
+@Configuration
+public class SecurityConfiguration {
+
+ @Autowired
+ private DataSource dataSource;
+
+ @Autowired
+ public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
+ auth.jdbcAuthentication()
+ .dataSource(dataSource)
+ .usersByUsernameQuery("select email,password,enabled "
+ + "from bael_users "
+ + "where email = ?")
+ .authoritiesByUsernameQuery("select email,authority "
+ + "from authorities "
+ + "where email = ?");
+ }
+
+ @Bean
+ public PasswordEncoder passwordEncoder() {
+ return new BCryptPasswordEncoder();
+ }
+
+}
\ No newline at end of file
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/java/com/baeldung/jdbcauthentication/mysql/web/UserController.java b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/java/com/baeldung/jdbcauthentication/mysql/web/UserController.java
new file mode 100644
index 0000000000..ed15f8bfe6
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/java/com/baeldung/jdbcauthentication/mysql/web/UserController.java
@@ -0,0 +1,17 @@
+package com.baeldung.jdbcauthentication.mysql.web;
+
+import java.security.Principal;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/principal")
+public class UserController {
+
+ @GetMapping
+ public Principal retrievePrincipal(Principal principal) {
+ return principal;
+ }
+}
\ No newline at end of file
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/resources/application.properties b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/resources/application.properties
new file mode 100644
index 0000000000..2962475108
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/resources/application.properties
@@ -0,0 +1,8 @@
+server.port=8082
+
+spring.datasource.url=jdbc:mysql://localhost:3306/jdbc_authentication
+spring.datasource.username=root
+spring.datasource.password=pass
+
+spring.datasource.initialization-mode=always
+spring.jpa.hibernate.ddl-auto=none
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/resources/data.sql b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/resources/data.sql
new file mode 100644
index 0000000000..8214fd8204
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/resources/data.sql
@@ -0,0 +1,4 @@
+-- User user@email.com/pass
+INSERT INTO bael_users (name, email, password, enabled) values ('user', 'user@email.com', '$2a$10$8.UnVuG9HHgffUDAlk8qfOuVGkqRzgVymGe07xd00DMxs.AQubh4a', 1);
+
+INSERT INTO authorities (email, authority) values ('user@email.com', 'ROLE_USER');
\ No newline at end of file
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/resources/schema.sql b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/resources/schema.sql
new file mode 100644
index 0000000000..bb38c74366
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/main/resources/schema.sql
@@ -0,0 +1,18 @@
+DROP TABLE IF EXISTS authorities;
+DROP TABLE IF EXISTS bael_users;
+
+CREATE TABLE bael_users (
+ name VARCHAR(50) NOT NULL,
+ email VARCHAR(50) NOT NULL,
+ password VARCHAR(100) NOT NULL,
+ enabled TINYINT NOT NULL DEFAULT 1,
+ PRIMARY KEY (email)
+);
+
+CREATE TABLE authorities (
+ email VARCHAR(50) NOT NULL,
+ authority VARCHAR(50) NOT NULL,
+ FOREIGN KEY (email) REFERENCES bael_users(email)
+);
+
+CREATE UNIQUE INDEX ix_auth_email on authorities (email,authority);
\ No newline at end of file
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/test/java/com/baeldung/jdbcauthentication/mysql/SpringContextIntegrationTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/test/java/com/baeldung/jdbcauthentication/mysql/SpringContextIntegrationTest.java
new file mode 100644
index 0000000000..2c19e2c0ca
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/test/java/com/baeldung/jdbcauthentication/mysql/SpringContextIntegrationTest.java
@@ -0,0 +1,15 @@
+package com.baeldung.jdbcauthentication.mysql;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = MySqlJdbcAuthenticationApplication.class)
+public class SpringContextIntegrationTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/test/java/com/baeldung/jdbcauthentication/mysql/web/UserControllerLiveTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/test/java/com/baeldung/jdbcauthentication/mysql/web/UserControllerLiveTest.java
new file mode 100644
index 0000000000..79bc84ea69
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-mysql/src/test/java/com/baeldung/jdbcauthentication/mysql/web/UserControllerLiveTest.java
@@ -0,0 +1,35 @@
+package com.baeldung.jdbcauthentication.mysql.web;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.is;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.http.HttpStatus;
+
+/**
+ * This Live Test requires:
+ * * a MySql instance running, that allows a 'root' user with password 'pass', and with a database named jdbc_authentication
+ * (e.g. with the following command `docker run -p 3306:3306 --name bael-mysql -e MYSQL_ROOT_PASSWORD=pass -e MYSQL_DATABASE=jdbc_authentication mysql:latest`)
+ * * the service up and running
+ *
+ */
+public class UserControllerLiveTest {
+
+ private static final String PRINCIPAL_SVC_URL = "http://localhost:8082/principal";
+
+ @Test
+ public void givenExisting_whenRequestPrincipal_thenRetrieveData() throws Exception {
+ given().auth()
+ .preemptive()
+ .basic("user@email.com", "pass")
+ .when()
+ .get(PRINCIPAL_SVC_URL)
+ .then()
+ .statusCode(HttpStatus.OK.value())
+ .and()
+ .body("authorities[0].authority", is("ROLE_USER"))
+ .body("principal.username", is("user@email.com"))
+ .body("name", is("user@email.com"));
+ }
+
+}
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-postgre/pom.xml b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/pom.xml
new file mode 100644
index 0000000000..e68e47b596
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+ com.baeldung
+ spring-security-mvc-boot-postgre
+ 0.0.1-SNAPSHOT
+ spring-security-mvc-boot-postgre
+ jar
+ Spring Security MVC Boot using PostgreSQL
+
+
+ spring-security-mvc-boot
+ com.baeldung
+ 0.0.1-SNAPSHOT
+ ..
+
+
+
+
+ org.postgresql
+ postgresql
+ runtime
+
+
+
+
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/java/com/baeldung/jdbcauthentication/postgre/PostgreJdbcAuthenticationApplication.java b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/java/com/baeldung/jdbcauthentication/postgre/PostgreJdbcAuthenticationApplication.java
new file mode 100644
index 0000000000..d4b555e8c6
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/java/com/baeldung/jdbcauthentication/postgre/PostgreJdbcAuthenticationApplication.java
@@ -0,0 +1,13 @@
+package com.baeldung.jdbcauthentication.postgre;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class PostgreJdbcAuthenticationApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(PostgreJdbcAuthenticationApplication.class, args);
+ }
+
+}
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/java/com/baeldung/jdbcauthentication/postgre/config/SecurityConfiguration.java b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/java/com/baeldung/jdbcauthentication/postgre/config/SecurityConfiguration.java
new file mode 100644
index 0000000000..85dc9d364c
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/java/com/baeldung/jdbcauthentication/postgre/config/SecurityConfiguration.java
@@ -0,0 +1,29 @@
+package com.baeldung.jdbcauthentication.postgre.config;
+
+import javax.sql.DataSource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+
+@Configuration
+public class SecurityConfiguration {
+
+ @Autowired
+ private DataSource dataSource;
+
+ @Autowired
+ public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
+ auth.jdbcAuthentication()
+ .dataSource(dataSource);
+ }
+
+ @Bean
+ public PasswordEncoder passwordEncoder() {
+ return new BCryptPasswordEncoder();
+ }
+
+}
\ No newline at end of file
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/java/com/baeldung/jdbcauthentication/postgre/web/UserController.java b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/java/com/baeldung/jdbcauthentication/postgre/web/UserController.java
new file mode 100644
index 0000000000..da85a46562
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/java/com/baeldung/jdbcauthentication/postgre/web/UserController.java
@@ -0,0 +1,17 @@
+package com.baeldung.jdbcauthentication.postgre.web;
+
+import java.security.Principal;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/principal")
+public class UserController {
+
+ @GetMapping
+ public Principal retrievePrincipal(Principal principal) {
+ return principal;
+ }
+}
\ No newline at end of file
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/resources/application.properties b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/resources/application.properties
new file mode 100644
index 0000000000..2940c5121e
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/resources/application.properties
@@ -0,0 +1,8 @@
+server.port=8082
+
+spring.datasource.url=jdbc:postgresql://localhost:5432/jdbc_authentication
+spring.datasource.username=postgres
+spring.datasource.password=pass
+
+spring.datasource.initialization-mode=always
+spring.jpa.hibernate.ddl-auto=none
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/resources/data.sql b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/resources/data.sql
new file mode 100644
index 0000000000..fcc6b54949
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/resources/data.sql
@@ -0,0 +1,4 @@
+-- User user/pass
+INSERT INTO users (username, password, enabled) values ('user', '$2a$10$8.UnVuG9HHgffUDAlk8qfOuVGkqRzgVymGe07xd00DMxs.AQubh4a', true);
+
+INSERT INTO authorities (username, authority) values ('user', 'ROLE_USER');
\ No newline at end of file
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/resources/schema.sql b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/resources/schema.sql
new file mode 100644
index 0000000000..d78edfb528
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/main/resources/schema.sql
@@ -0,0 +1,16 @@
+DROP TABLE IF EXISTS authorities;
+DROP TABLE IF EXISTS users;
+
+CREATE TABLE users (
+ username varchar(50) NOT NULL PRIMARY KEY,
+ password varchar(100) NOT NULL,
+ enabled boolean not null DEFAULT true
+);
+
+CREATE TABLE authorities (
+ username varchar(50) NOT NULL,
+ authority varchar(50) NOT NULL,
+ CONSTRAINT foreign_authorities_users_1 foreign key(username) references users(username)
+);
+
+CREATE UNIQUE INDEX ix_auth_username on authorities (username,authority);
\ No newline at end of file
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/test/java/com/baeldung/jdbcauthentication/postgre/SpringContextIntegrationTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/test/java/com/baeldung/jdbcauthentication/postgre/SpringContextIntegrationTest.java
new file mode 100644
index 0000000000..f133ef73be
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/test/java/com/baeldung/jdbcauthentication/postgre/SpringContextIntegrationTest.java
@@ -0,0 +1,17 @@
+package com.baeldung.jdbcauthentication.postgre;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.baeldung.jdbcauthentication.postgre.PostgreJdbcAuthenticationApplication;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = PostgreJdbcAuthenticationApplication.class)
+public class SpringContextIntegrationTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/test/java/com/baeldung/jdbcauthentication/postgre/web/UserControllerLiveTest.java b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/test/java/com/baeldung/jdbcauthentication/postgre/web/UserControllerLiveTest.java
new file mode 100644
index 0000000000..b5f4379c0a
--- /dev/null
+++ b/spring-security-mvc-boot/spring-security-mvc-boot-postgre/src/test/java/com/baeldung/jdbcauthentication/postgre/web/UserControllerLiveTest.java
@@ -0,0 +1,35 @@
+package com.baeldung.jdbcauthentication.postgre.web;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.is;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.http.HttpStatus;
+
+/**
+ * This Live Test requires:
+ * * a PostgreSQL instance running, that allows a 'root' user with password 'pass', and with a database named jdbc_authentication
+ * (e.g. with the following command `docker run -p 5432:5432 --name bael-postgre -e POSTGRES_PASSWORD=pass -e POSTGRES_DB=jdbc_authentication postgres:latest`)
+ * * the service up and running
+ *
+ */
+public class UserControllerLiveTest {
+
+ private static final String PRINCIPAL_SVC_URL = "http://localhost:8082/principal";
+
+ @Test
+ public void givenExisting_whenRequestPrincipal_thenRetrieveData() throws Exception {
+ given().auth()
+ .preemptive()
+ .basic("user", "pass")
+ .when()
+ .get(PRINCIPAL_SVC_URL)
+ .then()
+ .statusCode(HttpStatus.OK.value())
+ .and()
+ .body("authorities[0].authority", is("ROLE_USER"))
+ .body("principal.username", is("user"))
+ .body("name", is("user"));
+ }
+
+}
diff --git a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/Application.java b/spring-security-mvc-boot/src/main/java/org/baeldung/custom/Application.java
deleted file mode 100644
index f932ac3066..0000000000
--- a/spring-security-mvc-boot/src/main/java/org/baeldung/custom/Application.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.baeldung.custom;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-
-@SpringBootApplication
-public class Application extends SpringBootServletInitializer {
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
-}
diff --git a/spring-security-mvc-boot/src/main/resources/logback.xml b/spring-security-mvc-boot/src/main/resources/logback.xml
deleted file mode 100644
index 7d900d8ea8..0000000000
--- a/spring-security-mvc-boot/src/main/resources/logback.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-security-mvc-boot/src/main/resources/templates/index.html b/spring-security-mvc-boot/src/main/resources/templates/index.html
deleted file mode 100644
index 8e7394ad6a..0000000000
--- a/spring-security-mvc-boot/src/main/resources/templates/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-Spring Security Thymeleaf
-
-
-
-
-
-
-
-
-
-
- Welcome
-
-
-
\ No newline at end of file
diff --git a/spring-security-mvc-boot/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-boot/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..2041249b71
--- /dev/null
+++ b/spring-security-mvc-boot/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package org.baeldung;
+
+import org.baeldung.custom.Application;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-custom/pom.xml b/spring-security-mvc-custom/pom.xml
index 4e932f3245..3bae514bc1 100644
--- a/spring-security-mvc-custom/pom.xml
+++ b/spring-security-mvc-custom/pom.xml
@@ -194,10 +194,8 @@
19.0
- 3.5
- 2.6
1.6.1
diff --git a/spring-security-mvc-session/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-security-mvc-custom/src/test/java/org/baeldung/SpringContextTest.java
similarity index 93%
rename from spring-security-mvc-session/src/test/java/org/baeldung/SpringContextIntegrationTest.java
rename to spring-security-mvc-custom/src/test/java/org/baeldung/SpringContextTest.java
index 9e74e83a53..5ee80d856a 100644
--- a/spring-security-mvc-session/src/test/java/org/baeldung/SpringContextIntegrationTest.java
+++ b/spring-security-mvc-custom/src/test/java/org/baeldung/SpringContextTest.java
@@ -11,7 +11,7 @@ import org.springframework.test.context.web.WebAppConfiguration;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { MvcConfig.class, SecSecurityConfig.class })
@WebAppConfiguration
-public class SpringContextIntegrationTest {
+public class SpringContextTest {
@Test
public void whenSpringContextIsBootstrapped_thenNoExceptions() {
diff --git a/spring-security-mvc-digest-auth/pom.xml b/spring-security-mvc-digest-auth/pom.xml
index cf1de1730d..0baaea15ef 100644
--- a/spring-security-mvc-digest-auth/pom.xml
+++ b/spring-security-mvc-digest-auth/pom.xml
@@ -196,13 +196,11 @@
19.0
- 3.5
4.4.5
4.5.2
- 2.6
1.6.1
diff --git a/spring-security-mvc-digest-auth/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-digest-auth/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..cd2b796308
--- /dev/null
+++ b/spring-security-mvc-digest-auth/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,20 @@
+package org.baeldung;
+
+import org.baeldung.spring.ClientConfig;
+import org.baeldung.spring.MvcConfig;
+import org.baeldung.spring.SecSecurityConfig;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { ClientConfig.class, MvcConfig.class, SecSecurityConfig.class })
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-jsonview/pom.xml b/spring-security-mvc-jsonview/pom.xml
index 8fa7b4ffb5..a7f668ae8b 100644
--- a/spring-security-mvc-jsonview/pom.xml
+++ b/spring-security-mvc-jsonview/pom.xml
@@ -111,7 +111,7 @@
javax.servlet
javax.servlet-api
- ${javax.servlet.version}
+ ${javax.servlet-api.version}
provided
@@ -206,12 +206,6 @@
-
- 3.1.0
- 1.2
-
-
- 2.6
1.6.1
2.4.0
diff --git a/spring-security-mvc-jsonview/src/test/java/com/baeldung/SpringContextTest.java b/spring-security-mvc-jsonview/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..b1a3de714e
--- /dev/null
+++ b/spring-security-mvc-jsonview/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,17 @@
+package com.baeldung;
+
+import com.baeldung.spring.AppConfig;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = AppConfig.class)
+@WebAppConfiguration
+public class SpringContextTest {
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-ldap/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-ldap/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..30ba7671d8
--- /dev/null
+++ b/spring-security-mvc-ldap/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,15 @@
+package org.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SampleLDAPApplication.class)
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-login/pom.xml b/spring-security-mvc-login/pom.xml
index 02ed0e36f2..1ca11bc1ab 100644
--- a/spring-security-mvc-login/pom.xml
+++ b/spring-security-mvc-login/pom.xml
@@ -175,7 +175,6 @@
- 2.6
1.6.1
diff --git a/spring-security-mvc-login/src/test/java/com/baeldung/SpringContextTest.java b/spring-security-mvc-login/src/test/java/com/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..4cf3b736ea
--- /dev/null
+++ b/spring-security-mvc-login/src/test/java/com/baeldung/SpringContextTest.java
@@ -0,0 +1,16 @@
+package com.baeldung;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration({ "/RedirectionWebSecurityConfig.xml", "/mvc-servlet.xml" })
+@WebAppConfiguration
+public class SpringContextTest {
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-persisted-remember-me/pom.xml b/spring-security-mvc-persisted-remember-me/pom.xml
index 5e987dcb77..2f7989d573 100644
--- a/spring-security-mvc-persisted-remember-me/pom.xml
+++ b/spring-security-mvc-persisted-remember-me/pom.xml
@@ -99,7 +99,7 @@
javax.servlet
javax.servlet-api
- ${javax.servlet.version}
+ ${javax.servlet-api.version}
provided
@@ -200,15 +200,10 @@
9.4.1212
-
- 3.1.0
- 1.2
-
19.0
- 2.6
1.6.1
1.5.10.RELEASE
diff --git a/spring-security-mvc-persisted-remember-me/src/test/java/org/baeldung/SpringContextTest.java b/spring-security-mvc-persisted-remember-me/src/test/java/org/baeldung/SpringContextTest.java
new file mode 100644
index 0000000000..8113ed0fbe
--- /dev/null
+++ b/spring-security-mvc-persisted-remember-me/src/test/java/org/baeldung/SpringContextTest.java
@@ -0,0 +1,20 @@
+package org.baeldung;
+
+import org.baeldung.spring.MvcConfig;
+import org.baeldung.spring.PersistenceConfig;
+import org.baeldung.spring.SecurityConfig;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = { MvcConfig.class, PersistenceConfig.class, SecurityConfig.class })
+@WebAppConfiguration
+public class SpringContextTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
diff --git a/spring-security-mvc-session/pom.xml b/spring-security-mvc-session/pom.xml
deleted file mode 100644
index 276f651436..0000000000
--- a/spring-security-mvc-session/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-
- 4.0.0
- com.baeldung
- spring-security-mvc-session
- 0.1-SNAPSHOT
- spring-security-mvc-session
- war
-
-
- parent-boot-2
- com.baeldung
- 0.0.1-SNAPSHOT
- ../parent-boot-2
-
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.security
- spring-security-taglibs
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.apache.tomcat.embed
- tomcat-embed-jasper
-
-
- org.springframework.boot
- spring-boot-starter-tomcat
-
-
-
-
-
- javax.servlet
- javax.servlet-api
- provided
-
-
-
- javax.servlet
- jstl
- runtime
-
-
-
-
-
- com.codahale.metrics
- metrics-core
- ${codahale.metrics.version}
-
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
-
-
- spring-security-mvc-session
-
-
- src/main/resources
- true
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-war-plugin
- ${maven-war-plugin.version}
-
-
-
- org.codehaus.cargo
- cargo-maven2-plugin
- ${cargo-maven2-plugin.version}
-
- true
-
- jetty8x
- embedded
-
-
-
-
-
-
- 8082
-
-
-
-
-
-
-
-
-
-
-
- 3.0.2
-
-
- 2.6
- 1.6.1
-
-
-
\ No newline at end of file
diff --git a/spring-security-mvc-session/src/main/java/org/baeldung/spring/MvcConfig.java b/spring-security-mvc-session/src/main/java/org/baeldung/spring/MvcConfig.java
deleted file mode 100644
index b9f50ded73..0000000000
--- a/spring-security-mvc-session/src/main/java/org/baeldung/spring/MvcConfig.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.baeldung.spring;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.ViewResolver;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import org.springframework.web.servlet.view.InternalResourceViewResolver;
-import org.springframework.web.servlet.view.JstlView;
-
-@EnableWebMvc
-@Configuration
-public class MvcConfig implements WebMvcConfigurer {
-
- public MvcConfig() {
- super();
- }
-
- // API
-
- @Override
- public void addViewControllers(final ViewControllerRegistry registry) {
-
- registry.addViewController("/anonymous.html");
-
- registry.addViewController("/login.html");
- registry.addViewController("/homepage.html");
- registry.addViewController("/sessionExpired.html");
- registry.addViewController("/invalidExpired.html");
- registry.addViewController("/console.html");
- }
-
- @Bean
- public ViewResolver viewResolver() {
- final InternalResourceViewResolver bean = new InternalResourceViewResolver();
-
- bean.setViewClass(JstlView.class);
- bean.setPrefix("/WEB-INF/view/");
- bean.setSuffix(".jsp");
-
- return bean;
- }
-}
\ No newline at end of file
diff --git a/spring-security-mvc-socket/pom.xml b/spring-security-mvc-socket/pom.xml
index f1d28355fd..f799a7fa9f 100644
--- a/spring-security-mvc-socket/pom.xml
+++ b/spring-security-mvc-socket/pom.xml
@@ -78,7 +78,7 @@
com.h2database
h2
- ${h2database.version}
+ ${h2.version}
@@ -186,7 +186,6 @@
5.2.10.Final
4.2.3.RELEASE
1.11.3.RELEASE
- 1.4.196
1.2.3