Advertisement
Google Ad Slot: content-top
Basic Configuration
What Is Basic Configuration?
Basic configuration means.Creating our own security rules instead of using Spring Security’s default rules.
We do this by creating a SecurityConfig class.
Creating SecurityConfig
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.web.SecurityFilterChain;
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(auth -> auth
.anyRequest().authenticated()
)
.formLogin();
return http.build();
}
}
What Is @Configuration?
@Configuration tells Spring
“This class contains configuration code.”
Spring will:
- Scan this class
- Load it at startup
- Use the beans defined inside it
Without @Configuration, Spring will ignore this class.
What Is @EnableWebSecurity?
@EnableWebSecurity tells Spring:
“Enable Spring Security and use my rules.”
This annotation:
- Activates Spring Security
- Allows custom security configuration
Without it:
- Spring may use default security
- Your custom rules may not apply
What Is SecurityFilterChain?
SecurityFilterChain is a bean that defines security rules.
It controls:
- Which requests are allowed
- Which requests need authentication
- How security is applied
.anyRequest().authenticated();
- Every request must be authenticated.
HttpSecurity Object
HttpSecurity is the main configuration object.represents
- Authentication rules
- Authorization rules
- CSRF rules
- Session rules
- Login methods
.anyRequest().authenticated();
- Every request must be authenticated.
How Spring Reads SecurityFilterChain
Request → SecurityFilterChain → Controller