기존 SpringConfig.java
@Bean
public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception {
httpSecurity
// token을 사용하는 방식이기 때문에 csrf를 disable합니다.
.csrf().disable()
.exceptionHandling()
.authenticationEntryPoint(jwtAuthenticationEntryPoint)
.accessDeniedHandler(jwtAccessDeniedHandler)
...
기존에 작성하던 것처럼 메서드 체이닝 으로 spring security 코드를 작성하였는데 아래의 사진과 같은 "is deprecated and marked for removal"
오류가 발생하였다.
새로 생성한 프로젝트는 SpringBoot-3.3.2 / Spring Security- 6.1.3 버전을 사용하였기 때문에 해당 오류가 발생한 것이었다.
spring security 버전 확인 방법
우측 메뉴의 Gradle -> 검색 -> spring-core 버전 확인
Spring Security 6.1.0 부터는 메서드 체이닝의 사용을 지양하고 람다식을 통해 함수형으로 설정하는 방식을 지향한다고 한다.
// 기존
http.csrf.disable()
// 람다식으로 변경
http.csrf((csrf)->csrf.diable())
https://docs.spring.io/spring-security/reference/migration-7/configuration.html