Issue
I am in the middle of process of mirgation my Spring Security Configuration from WebSecurityConfigurerAdapter (deprecated) to configuration with beans.
My config class now looks like
@EnableWebSecurity
public class Config {
@Bean
protected SecurityFilterChain configure(HttpSecurity http) throws Exception {
return http.build();
}
}
I understand that this configuration doesn't make any behavior settings, but shouldn't it return a SecurityFilterChain bean that will act like the default SecurityFilterChain (as if no configuration was specified)? When I start my app no controllers are secured.
Solution
To add security rules and form for endpoints simply add .authorizeRequests()
block:
@Configuration
public class Config {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/unprotected", "/endpoints/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin();
return http.build();
}
}
Also read Spring Security without the WebSecurityConfigurerAdapter
Answered By - vszholobov
Answer Checked By - Dawn Plyler (JavaFixing Volunteer)