From 5f016b6220a57fb1c777c0aaf5fe0e4263ff9656 Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 30 Sep 2023 13:11:57 +0100 Subject: [PATCH 01/14] Create HttpSecurityConfig.java --- .../HttpSecurityConfig.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java diff --git a/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java b/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java new file mode 100644 index 0000000000..19ffa2fdb3 --- /dev/null +++ b/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java @@ -0,0 +1,32 @@ +package com.baeldung.httpsecurityvswebsecurity; + +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; + +@Configuration +@EnableWebSecurity +public class HttpSecurityConfig extends WebSecurityConfigurerAdapter { + + @Override + protected void configure(HttpSecurity http) throws Exception { + // Given: HttpSecurity configured + + http + .authorizeRequests() + .antMatchers("/public/**").permitAll() + .antMatchers("/admin/**").hasRole("ADMIN") + .anyRequest().authenticated() + .and() + .formLogin() + .loginPage("/login") + .permitAll() + .and() + .logout() + .permitAll(); + + // When: Accessing specific URLs + // Then: Access is granted based on defined rules + } +} From 9058fad8226ae8645b5a35fe950a42773623e8f7 Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 30 Sep 2023 13:14:08 +0100 Subject: [PATCH 02/14] Create WebSecurityConfig.java --- .../WebSecurityConfig.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java diff --git a/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java b/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java new file mode 100644 index 0000000000..11b740c744 --- /dev/null +++ b/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java @@ -0,0 +1,31 @@ +package com.baeldung.httpsecurityvswebsecurity; + +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.web.SecurityFilterChain; + +@Configuration +public class WebSecurityConfig extends WebSecurityConfigurerAdapter { + + @Autowired + private UserDetailsService userDetailsService; + + @Override + protected void configure(AuthenticationManagerBuilder auth) throws Exception { + auth.userDetailsService(userDetailsService).passwordEncoder(new BCryptPasswordEncoder()); + } + + @Override + protected void configure(HttpSecurity http) throws Exception { + http.authorizeRequests() + .antMatchers("/").permitAll() + .anyRequest().authenticated() + .and() + .formLogin(); + } +} From 54469285479cc1cd2da23f345b47a33f415f032d Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 30 Sep 2023 13:15:37 +0100 Subject: [PATCH 03/14] Update pom.xml add necessary dependencies --- spring-security-modules/spring-security-core/pom.xml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/spring-security-modules/spring-security-core/pom.xml b/spring-security-modules/spring-security-core/pom.xml index 0eb70c0853..d8f2ce7dc9 100644 --- a/spring-security-modules/spring-security-core/pom.xml +++ b/spring-security-modules/spring-security-core/pom.xml @@ -49,6 +49,16 @@ org.springframework.security spring-security-test + + org.springframework.security + spring-security-web + 5.8.4 + + + org.springframework.security + spring-security-core + 5.8.4 + @@ -100,4 +110,4 @@ - \ No newline at end of file + From 1b1ba05a505ab99243ebf2aebfde9cb2ebc94c95 Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 7 Oct 2023 12:44:06 +0100 Subject: [PATCH 04/14] Update HttpSecurityConfig.java --- .../httpsecurityvswebsecurity/HttpSecurityConfig.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java b/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java index 19ffa2fdb3..bfa8fa8633 100644 --- a/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java +++ b/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java @@ -14,16 +14,16 @@ public class HttpSecurityConfig extends WebSecurityConfigurerAdapter { // Given: HttpSecurity configured http - .authorizeRequests() + .authorizeRequests() .antMatchers("/public/**").permitAll() .antMatchers("/admin/**").hasRole("ADMIN") .anyRequest().authenticated() - .and() - .formLogin() + .and() + .formLogin() .loginPage("/login") .permitAll() - .and() - .logout() + .and() + .logout() .permitAll(); // When: Accessing specific URLs From 8177e7430718f3350234bff68cabbd738358673b Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 7 Oct 2023 12:49:07 +0100 Subject: [PATCH 05/14] Update WebSecurityConfig.java --- .../httpsecurityvswebsecurity/WebSecurityConfig.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java b/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java index 11b740c744..9d0a3cfb55 100644 --- a/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java +++ b/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java @@ -17,15 +17,18 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { - auth.userDetailsService(userDetailsService).passwordEncoder(new BCryptPasswordEncoder()); + auth + .userDetailsService(userDetailsService) + .passwordEncoder(new BCryptPasswordEncoder()); } @Override protected void configure(HttpSecurity http) throws Exception { - http.authorizeRequests() + http + .authorizeRequests() .antMatchers("/").permitAll() .anyRequest().authenticated() - .and() - .formLogin(); + .and() + .formLogin(); } } From 0e8c249abdd8e34d0f7d4c77bd9750431bfdaa8a Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:53:04 +0100 Subject: [PATCH 06/14] Update pom.xml --- spring-security-modules/spring-security-core/pom.xml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/spring-security-modules/spring-security-core/pom.xml b/spring-security-modules/spring-security-core/pom.xml index d8f2ce7dc9..03d7030057 100644 --- a/spring-security-modules/spring-security-core/pom.xml +++ b/spring-security-modules/spring-security-core/pom.xml @@ -49,16 +49,6 @@ org.springframework.security spring-security-test - - org.springframework.security - spring-security-web - 5.8.4 - - - org.springframework.security - spring-security-core - 5.8.4 - From 7fcd8a271b2a7a4beda65d0b0368a5eed6144298 Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:53:46 +0100 Subject: [PATCH 07/14] Update pom.xml --- .../spring-security-core-2/pom.xml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/spring-security-modules/spring-security-core-2/pom.xml b/spring-security-modules/spring-security-core-2/pom.xml index e540d7bc01..55eaf262df 100644 --- a/spring-security-modules/spring-security-core-2/pom.xml +++ b/spring-security-modules/spring-security-core-2/pom.xml @@ -49,6 +49,16 @@ org.springframework.security spring-security-test + + org.springframework.security + spring-security-web + 5.8.4 + + + org.springframework.security + spring-security-core + 5.8.4 + @@ -100,4 +110,4 @@ - \ No newline at end of file + From ad0932acd1151d3b302f9671e293bc98ee330ee9 Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:57:03 +0100 Subject: [PATCH 08/14] Rename HttpSecurityConfig.java to HttpSecurityConfig.java --- .../baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename spring-security-modules/{spring-security-core => spring-security-core-2}/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java (100%) diff --git a/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java similarity index 100% rename from spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java rename to spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java From 4eb6c11b4034bbe798adb74d743198e5ea3b5592 Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:59:22 +0100 Subject: [PATCH 09/14] Rename WebSecurityConfig.java to WebSecurityConfig.java --- .../com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename spring-security-modules/{spring-security-core => spring-security-core-2}/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java (100%) diff --git a/spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java similarity index 100% rename from spring-security-modules/spring-security-core/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java rename to spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java From 9fcdc43c5c6b66b9fe134fafaa30786d0c605faf Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 14 Oct 2023 21:45:28 +0100 Subject: [PATCH 10/14] Update pom.xml --- spring-security-modules/spring-security-core-2/pom.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-security-modules/spring-security-core-2/pom.xml b/spring-security-modules/spring-security-core-2/pom.xml index 55eaf262df..5d77098869 100644 --- a/spring-security-modules/spring-security-core-2/pom.xml +++ b/spring-security-modules/spring-security-core-2/pom.xml @@ -15,6 +15,10 @@ ../../parent-boot-2 + + 5.8.4 + + org.springframework.boot @@ -52,12 +56,12 @@ org.springframework.security spring-security-web - 5.8.4 + ${spring.security.version} org.springframework.security spring-security-core - 5.8.4 + ${spring.security.version} From 4fb3cb257717e61b8c37327fc760dedffea058b3 Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 14 Oct 2023 21:49:30 +0100 Subject: [PATCH 11/14] Update HttpSecurityConfig.java --- .../HttpSecurityConfig.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java index bfa8fa8633..47c4c8de4c 100644 --- a/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java +++ b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java @@ -13,18 +13,17 @@ public class HttpSecurityConfig extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) throws Exception { // Given: HttpSecurity configured - http - .authorizeRequests() - .antMatchers("/public/**").permitAll() - .antMatchers("/admin/**").hasRole("ADMIN") - .anyRequest().authenticated() + http.authorizeRequests() + .antMatchers("/public/**").permitAll() + .antMatchers("/admin/**").hasRole("ADMIN") + .anyRequest().authenticated() .and() .formLogin() - .loginPage("/login") - .permitAll() + .loginPage("/login") + .permitAll() .and() .logout() - .permitAll(); + .permitAll(); // When: Accessing specific URLs // Then: Access is granted based on defined rules From 0bbc9163f9f301ba43f99da5d64ce69069d3a467 Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 14 Oct 2023 21:50:59 +0100 Subject: [PATCH 12/14] Update WebSecurityConfig.java --- .../WebSecurityConfig.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java index 9d0a3cfb55..702becbf06 100644 --- a/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java +++ b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java @@ -18,16 +18,17 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth - .userDetailsService(userDetailsService) - .passwordEncoder(new BCryptPasswordEncoder()); + .userDetailsService(userDetailsService) + .passwordEncoder(new BCryptPasswordEncoder()); } @Override protected void configure(HttpSecurity http) throws Exception { - http - .authorizeRequests() - .antMatchers("/").permitAll() - .anyRequest().authenticated() + http.authorizeRequests() + .antMatchers("/") + .permitAll() + .anyRequest() + .authenticated() .and() .formLogin(); } From b17ab69f4d06ff9347ae9a778d08b86358f7fcb2 Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 21 Oct 2023 19:15:13 +0100 Subject: [PATCH 13/14] Update HttpSecurityConfig.java --- .../HttpSecurityConfig.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java index 47c4c8de4c..d6361255e5 100644 --- a/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java +++ b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/HttpSecurityConfig.java @@ -14,16 +14,16 @@ public class HttpSecurityConfig extends WebSecurityConfigurerAdapter { // Given: HttpSecurity configured http.authorizeRequests() - .antMatchers("/public/**").permitAll() - .antMatchers("/admin/**").hasRole("ADMIN") - .anyRequest().authenticated() - .and() - .formLogin() - .loginPage("/login") - .permitAll() - .and() - .logout() - .permitAll(); + .antMatchers("/public/**").permitAll() + .antMatchers("/admin/**").hasRole("ADMIN") + .anyRequest().authenticated() + .and() + .formLogin() + .loginPage("/login") + .permitAll() + .and() + .logout() + .permitAll(); // When: Accessing specific URLs // Then: Access is granted based on defined rules From 643da8039189ef8cf586c0af647f28df4c87681b Mon Sep 17 00:00:00 2001 From: Rufina Uche <102101377+Finniki@users.noreply.github.com> Date: Sat, 21 Oct 2023 19:17:05 +0100 Subject: [PATCH 14/14] Update WebSecurityConfig.java --- .../httpsecurityvswebsecurity/WebSecurityConfig.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java index 702becbf06..46a82918aa 100644 --- a/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java +++ b/spring-security-modules/spring-security-core-2/src/main/java/com/baeldung/httpsecurityvswebsecurity/WebSecurityConfig.java @@ -25,11 +25,11 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() - .antMatchers("/") - .permitAll() - .anyRequest() - .authenticated() - .and() - .formLogin(); + .antMatchers("/") + .permitAll() + .anyRequest() + .authenticated() + .and() + .formLogin(); } }