diff --git a/spring-security-modules/pom.xml b/spring-security-modules/pom.xml
index 7e7bc2d1cb7c..326429ccb1a2 100644
--- a/spring-security-modules/pom.xml
+++ b/spring-security-modules/pom.xml
@@ -59,6 +59,7 @@
spring-security-pkce-spa
spring-security-compromised-password
spring-security-authorization
+ spring-disable-security
spring-security-dynamic-registration
spring-security-ott
diff --git a/spring-security-modules/spring-disable-security/README.md b/spring-security-modules/spring-disable-security/README.md
new file mode 100644
index 000000000000..85dd5b68e33c
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles
+
diff --git a/spring-security-modules/spring-disable-security/pom.xml b/spring-security-modules/spring-disable-security/pom.xml
new file mode 100644
index 000000000000..b5b622044b51
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/pom.xml
@@ -0,0 +1,53 @@
+
+
+ 4.0.0
+ spring-disable-security
+ spring-disable-security
+ pom
+
+
+ com.baeldung
+ parent-boot-3
+ 0.0.1-SNAPSHOT
+ ../../parent-boot-3
+
+
+
+ spring-security-noauth-profile
+ spring-security-noauth-config
+ spring-security-noauth-nodependencies
+ spring-security-common-security-configuration
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ true
+
+
+
+
+
+
+ 3.3.1
+ 1.5.6
+ 3.12.1
+
+
+
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/pom.xml b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/pom.xml
new file mode 100644
index 000000000000..c82d520c1b7c
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/pom.xml
@@ -0,0 +1,33 @@
+
+
+ 4.0.0
+ spring-security-common-security-configuration
+ 1.0.0
+ spring-security-common-security-configuration
+ Disable Spring Security
+
+
+ com.baeldung
+ spring-disable-security
+ 0.0.1-SNAPSHOT
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/DisableSpringSecurityApplication.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/DisableSpringSecurityApplication.java
new file mode 100644
index 000000000000..2e1e58617dd1
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/DisableSpringSecurityApplication.java
@@ -0,0 +1,13 @@
+package com.baeldung;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class DisableSpringSecurityApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(DisableSpringSecurityApplication.class, args);
+ }
+
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/controller/MessageController.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/controller/MessageController.java
new file mode 100644
index 000000000000..d2e90717ccba
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/controller/MessageController.java
@@ -0,0 +1,19 @@
+package com.baeldung.controller;
+
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api")
+public class MessageController {
+ @GetMapping("/endpoint")
+ public ResponseEntity publicEndpoint() {
+ return ResponseEntity.ok("This is a public endpoint.");
+ }
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/security/SecurityConfiguration.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/security/SecurityConfiguration.java
new file mode 100644
index 000000000000..e6a9428e8397
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/security/SecurityConfiguration.java
@@ -0,0 +1,21 @@
+package com.baeldung.security;
+
+import org.springframework.context.annotation.Bean;
+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.configurers.AbstractHttpConfigurer;
+import org.springframework.security.web.SecurityFilterChain;
+
+@Configuration
+@EnableWebSecurity
+public class SecurityConfiguration {
+ @Bean
+ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
+
+ http
+ .authorizeHttpRequests(auth -> auth.anyRequest().permitAll())
+ .csrf(AbstractHttpConfigurer::disable);
+ return http.build();
+ }
+}
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/resources/application.properties b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/resources/application.properties
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/CommonSecurityConfigTest.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/CommonSecurityConfigTest.java
new file mode 100644
index 000000000000..306b45696c2d
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/CommonSecurityConfigTest.java
@@ -0,0 +1,22 @@
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.web.servlet.MockMvc;
+import com.baeldung.DisableSpringSecurityApplication;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@SpringBootTest(classes = DisableSpringSecurityApplication.class)
+@AutoConfigureMockMvc
+public class CommonSecurityConfigTest {
+
+ @Autowired
+ private MockMvc mockMvc;
+
+ @Test
+ public void whenAccessingAnyEndpoint_thenReturnOk() throws Exception {
+ mockMvc.perform(get("/api/endpoint"))
+ .andExpect(status().isOk());
+ }
+}
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/DisableSpringSecurityApplicationTest.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/DisableSpringSecurityApplicationTest.java
new file mode 100644
index 000000000000..cb2b3ff2ce95
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/DisableSpringSecurityApplicationTest.java
@@ -0,0 +1,19 @@
+package com.baeldung;
+
+
+import com.baeldung.DisableSpringSecurityApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = DisableSpringSecurityApplication.class)
+public class DisableSpringSecurityApplicationTest {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
+
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/pom.xml b/spring-security-modules/spring-disable-security/spring-security-noauth-config/pom.xml
new file mode 100644
index 000000000000..265b53921d21
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+ spring-security-noauth-config
+ 1.0.0
+ spring-security-noauth-config
+ Disable Spring Security
+
+ com.baeldung
+ spring-disable-security
+ 0.0.1-SNAPSHOT
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/DisableSpringSecurityWithConfig.java b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/DisableSpringSecurityWithConfig.java
new file mode 100644
index 000000000000..8b1cd68337d0
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/DisableSpringSecurityWithConfig.java
@@ -0,0 +1,13 @@
+package com.baeldung;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class DisableSpringSecurityWithConfig {
+
+ public static void main(String[] args) {
+ SpringApplication.run(DisableSpringSecurityWithConfig.class, args);
+ }
+
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/controller/MessageController.java b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/controller/MessageController.java
new file mode 100644
index 000000000000..d2e90717ccba
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/controller/MessageController.java
@@ -0,0 +1,19 @@
+package com.baeldung.controller;
+
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api")
+public class MessageController {
+ @GetMapping("/endpoint")
+ public ResponseEntity publicEndpoint() {
+ return ResponseEntity.ok("This is a public endpoint.");
+ }
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/resources/application.properties b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/resources/application.properties
new file mode 100644
index 000000000000..0043b4d4ccdd
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/resources/application.properties
@@ -0,0 +1 @@
+spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/test/java/com/baeldung/MessageControllerTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/test/java/com/baeldung/MessageControllerTest.java
new file mode 100644
index 000000000000..86f4aaca794b
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/test/java/com/baeldung/MessageControllerTest.java
@@ -0,0 +1,22 @@
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.web.servlet.MockMvc;
+import com.baeldung.DisableSpringSecurityWithConfig;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@SpringBootTest(classes = DisableSpringSecurityWithConfig.class)
+@AutoConfigureMockMvc
+public class MessageControllerTest {
+
+ @Autowired
+ private MockMvc mockMvc;
+
+ @Test
+ public void whenConfigAddedToExcludeSecurity_thenAccessIsPermitted() throws Exception {
+ mockMvc.perform(get("/api/endpoint"))
+ .andExpect(status().isOk());
+ }
+}
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/pom.xml b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/pom.xml
new file mode 100644
index 000000000000..a07038ab7cc1
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/pom.xml
@@ -0,0 +1,21 @@
+
+
+ 4.0.0
+ spring-security-noauth-nodependencies
+ 1.0.0
+ spring-security-noauth-nodependencies
+ Disable Spring Security
+
+ com.baeldung
+ spring-disable-security
+ 0.0.1-SNAPSHOT
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/DisableSpringSecurityWithNoDependencies.java b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/DisableSpringSecurityWithNoDependencies.java
new file mode 100644
index 000000000000..e2b03936e5bb
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/DisableSpringSecurityWithNoDependencies.java
@@ -0,0 +1,13 @@
+package com.baeldung;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class DisableSpringSecurityWithNoDependencies {
+
+ public static void main(String[] args) {
+ SpringApplication.run(DisableSpringSecurityWithNoDependencies.class, args);
+ }
+
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/controller/MessageController.java b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/controller/MessageController.java
new file mode 100644
index 000000000000..d2e90717ccba
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/controller/MessageController.java
@@ -0,0 +1,19 @@
+package com.baeldung.controller;
+
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api")
+public class MessageController {
+ @GetMapping("/endpoint")
+ public ResponseEntity publicEndpoint() {
+ return ResponseEntity.ok("This is a public endpoint.");
+ }
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/resources/application.properties b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/resources/application.properties
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/DisableSpringSecurityWithNoDependenciesTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/DisableSpringSecurityWithNoDependenciesTest.java
new file mode 100644
index 000000000000..82ed6c49b861
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/DisableSpringSecurityWithNoDependenciesTest.java
@@ -0,0 +1,17 @@
+package com.baeldung;
+
+import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import java.util.Optional;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+
+
+@SpringBootTest
+@AutoConfigureMockMvc
+class DisableSpringSecurityWithNoDependenciesTest {
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/MessageControllerTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/MessageControllerTest.java
new file mode 100644
index 000000000000..46eec43d885c
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/MessageControllerTest.java
@@ -0,0 +1,22 @@
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.web.servlet.MockMvc;
+import com.baeldung.DisableSpringSecurityWithNoDependencies;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@SpringBootTest(classes = DisableSpringSecurityWithNoDependencies.class)
+@AutoConfigureMockMvc
+public class MessageControllerTest {
+
+ @Autowired
+ private MockMvc mockMvc;
+
+ @Test
+ public void whenSpringSecurityDependencyNotPresent_thenAccessIsPermitted() throws Exception {
+ mockMvc.perform(get("/api/endpoint"))
+ .andExpect(status().isOk());
+ }
+}
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/pom.xml b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/pom.xml
new file mode 100644
index 000000000000..a5b9bcf99cd1
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/pom.xml
@@ -0,0 +1,33 @@
+
+
+ 4.0.0
+ spring-security-noauth-profile
+ 1.0.0
+ spring-security-noauth-profile
+ Disable Spring Security
+
+
+ com.baeldung
+ spring-disable-security
+ 0.0.1-SNAPSHOT
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/SpringSecurityAnnotationParameterApplication.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/SpringSecurityAnnotationParameterApplication.java
new file mode 100644
index 000000000000..3a6ebd73c5bd
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/SpringSecurityAnnotationParameterApplication.java
@@ -0,0 +1,13 @@
+package com.baeldung;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringSecurityAnnotationParameterApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringSecurityAnnotationParameterApplication.class, args);
+ }
+
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/controller/MessageController.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/controller/MessageController.java
new file mode 100644
index 000000000000..d2e90717ccba
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/controller/MessageController.java
@@ -0,0 +1,19 @@
+package com.baeldung.controller;
+
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api")
+public class MessageController {
+ @GetMapping("/endpoint")
+ public ResponseEntity publicEndpoint() {
+ return ResponseEntity.ok("This is a public endpoint.");
+ }
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/DevSecurityConfiguration.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/DevSecurityConfiguration.java
new file mode 100644
index 000000000000..e2f7acf34a22
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/DevSecurityConfiguration.java
@@ -0,0 +1,23 @@
+package com.baeldung.security;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.Customizer;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+import org.springframework.context.annotation.Profile;
+import org.springframework.security.web.SecurityFilterChain;
+
+@Configuration
+@EnableWebSecurity
+@Profile("dev")
+public class DevSecurityConfiguration {
+
+ @Bean
+ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
+
+ http
+ .authorizeHttpRequests(auth -> auth.anyRequest().permitAll());
+ return http.build();
+ }
+}
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/SecurityConfiguration.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/SecurityConfiguration.java
new file mode 100644
index 000000000000..05c071562898
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/SecurityConfiguration.java
@@ -0,0 +1,28 @@
+package com.baeldung.security;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+import org.springframework.security.web.SecurityFilterChain;
+
+import static org.springframework.security.config.Customizer.withDefaults;
+
+@Configuration
+@EnableWebSecurity
+@Profile("!dev")
+public class SecurityConfiguration {
+
+ @Bean
+ SecurityFilterChain httpSecurity(HttpSecurity http) throws Exception {
+ http
+ .authorizeHttpRequests(auth -> auth
+ .anyRequest().authenticated()
+ )
+ .formLogin(withDefaults())
+ .httpBasic(withDefaults());
+
+ return http.build();
+ }
+}
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/resources/application-dev.properties b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/resources/application-dev.properties
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/resources/application.properties b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/resources/application.properties
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/DevProfileSecurityConfigTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/DevProfileSecurityConfigTest.java
new file mode 100644
index 000000000000..8500b7762ddf
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/DevProfileSecurityConfigTest.java
@@ -0,0 +1,25 @@
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.web.servlet.MockMvc;
+import com.baeldung.SpringSecurityAnnotationParameterApplication;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+import org.springframework.test.context.ContextConfiguration;
+
+@SpringBootTest(classes = SpringSecurityAnnotationParameterApplication.class)
+@AutoConfigureMockMvc
+@ActiveProfiles("dev") // Activate the 'dev' profile for this test
+public class DevProfileSecurityConfigTest {
+
+ @Autowired
+ private MockMvc mockMvc;
+
+ @Test
+ public void whenDevProfile_thenAccessIsPermitted() throws Exception {
+ mockMvc.perform(get("/api/endpoint"))
+ .andExpect(status().isOk());
+ }
+}
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/NonDevProfileSecurityConfigTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/NonDevProfileSecurityConfigTest.java
new file mode 100644
index 000000000000..7acd31e5b354
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/NonDevProfileSecurityConfigTest.java
@@ -0,0 +1,23 @@
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.web.servlet.MockMvc;
+import com.baeldung.SpringSecurityAnnotationParameterApplication;
+
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@SpringBootTest(classes = SpringSecurityAnnotationParameterApplication.class)
+@AutoConfigureMockMvc
+public class NonDevProfileSecurityConfigTest {
+
+ @Autowired
+ private MockMvc mockMvc;
+
+ @Test
+ public void whenDevProfile_thenAccessIsPermitted() throws Exception {
+ mockMvc.perform(get("/api/endpoint"))
+ .andExpect(status().isUnauthorized());
+ }
+}
\ No newline at end of file
diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/SpringSecurityAnnotationParameterApplicationTests.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/SpringSecurityAnnotationParameterApplicationTests.java
new file mode 100644
index 000000000000..14f7bb5b49dc
--- /dev/null
+++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/SpringSecurityAnnotationParameterApplicationTests.java
@@ -0,0 +1,19 @@
+package com.baeldung;
+
+
+import com.baeldung.SpringSecurityAnnotationParameterApplication;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = SpringSecurityAnnotationParameterApplication.class)
+public class SpringSecurityAnnotationParameterApplicationTests {
+
+ @Test
+ public void whenSpringContextIsBootstrapped_thenNoExceptions() {
+ }
+}
+