작성
·
1.7K
0
안녕하세요! 최근 스프링 시큐리티가 패치되면서, 기존 메서드 체이닝 방식이 아닌 람다식을 통해 함수형으로 설정하도록 바뀌었는데요.
다른 설정 부분은 새롭게 바뀐 방식을 찾았으나.... 아래 사진의 마지막 apply() 는 도저히 찾을 수가 없더라고요...ㅠ 혹시 아시는 분계실까요?
('apply(C)' is deprecated since version 6.2 and marked for removal )
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
님께서 말씀하신 HttpSecurity.apply()
메소드는 스프링 시큐리티의 변경된 방식에 맞춰 람다식을 통한 구성으로 대체해야 할 부분입니다. 이를 대체하기 위해서는 SecurityConfigurerAdapter
를 상속받는 클래스를 구현하여 SecurityFilterChain
에 직접 등록해야 합니다.
예를 들어 기존에 apply()
를 통해 JwtSecurityConfig
를 추가했다면 다음과 같이 새로운 설정 방식을 적용할 수 있습니다:
import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.DefaultSecurityFilterChain;
public class JwtSecurityConfig extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {
private TokenProvider tokenProvider;
public JwtSecurityConfig(TokenProvider tokenProvider) {
this.tokenProvider = tokenProvider;
}
// 여기에서 직접 필터와 설정을 추가합니다.
@Override
public void configure(HttpSecurity http) throws Exception {
// ...
}
}
그리고 SecurityFilterChain
bean을 등록할 때는 다음과 같은 방식으로 구성 클래스를 추가합니다:
@Bean
SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
// 기타 설정들...
.addFilterBefore(new JwtTokenFilter(tokenProvider), UsernamePasswordAuthenticationFilter.class);
return http.build();
}
이렇게 새로운 형태로 SecurityFilterChain
내에 직접 필터를 추가하거나, 다른 보안 설정을 적용해야 합니다. 스프링 시큐리티 설정 관련 문서(https://docs.spring.io/spring-security/site/docs/5.3.x/reference/html5/#jc)를 참고하여 추가적인 정보를 얻으시기 바랍니다. 해당 링크로 가시면 더 자세한 설명과 예시를 보실 수 있습니다.
제공해주신 이미지를 볼 수 없어 정확한 코드를 볼 수는 없으나, 기존에 apply()
를 사용하던 부분을 새롭게 구현해야 할 필터나 컨피그 설정이 있다면 위와 같이 새로 구성하여야 할 것입니다.
진짜 AI 인가요...? 어떻게 이런 답변이... 감사해요 ㅠ