As per spring docs
Add this annotation to an
@Configurationclass to have the Spring Security configuration defined in anyWebSecurit
The Spring Boot Reference Guide explains well about it. If you search with @EnableWebSecurity:
To switch off the default web application security configuration completely you can add a bean with
@EnableWebSecurity(this does not disable the authentication manager configuration or Actuator’s security). To customize it you normally use external properties and beans of typeWebSecurityConfigurerAdapter(e.g. to add form-based login)....
If you add
@EnableWebSecurityand also disable Actuator security, you will get the default form-based login for the entire application unless you add a customWebSecurityConfigurerAdapter....
If you define a
@Configurationwith@EnableWebSecurityanywhere in your application it will switch off the default webapp security settings in Spring Boot (but leave the Actuator’s security enabled). To tweak the defaults try setting properties insecurity.*(seeSecurityPropertiesfor details of available settings) and SECURITY section of Common application properties.
Apparently, it's to switch off the default web application security configuration and add your own.