우연히 한 책의 실습을 따라하다가 문제가 발생했다! 여기에서 막 여러 부분에서 막 deprecated
됬다고 난리가 나버렸다. 어.. 그런데 실습에서 단골로 많이 나오게 되는 친구들이다...
docs를 보게되니 거의 실습에서 사용이 자주되는 것이 deprecated
가 된다는 것이었다.
나중에 더 찾아보니
Spring Security 6.1.0의 release note를 살펴보면 non-lamda DSL methods를 deprecating 했다고 한다
이게 무슨 일인가.... 그래서 설명내용을 보니 이 내용들을 그냥 메서드 체이닝으로 해결하지말고 앞으로는 람다식을 사용하여서 해결하라고 하신다!
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{
return http.authorizeHttpRequests()
.requestMatchers("/login", "/signup", "/user").permitAll()
.anyRequest().authenticated()
.and().formLogin()
.loginPage("/login")
.defaultSuccessUrl("/articles")
.and()
.logout()
.logoutSuccessUrl("/login")
.invalidateHttpSession(true)
.and().csrf()
.disable()
.build();
}
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{
return http.authorizeHttpRequests((authz) -> authz
.requestMatchers("/login", "/signup", "/user").permitAll()
.anyRequest().authenticated()
).formLogin((formLogin) ->
formLogin.loginPage("/login")
.defaultSuccessUrl("/articles")
).logout((logout) ->
logout.logoutSuccessUrl("/login")
.invalidateHttpSession(true)
)
.csrf(AbstractHttpConfigurer::disable)
.build();
}
다음과 같이 람다식을 활용하여서 해결이 되어진다.
앞으로 나오는 여러가지 버전 문제들은 docs를 잘 확인해보자!
오오 저희도 바꿔야겠네요