package demo.api.config; import demo.api.jwt.JwtTokenFilter; import demo.api.jwt.JwtTokenProvider; import lombok.RequiredArgsConstructor; import org.springframework.security.config.annotation.SecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.web.DefaultSecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; /** * SecurityConfigurerAdapter를 확장. * JwtTokenProvider를 주입받음. * JwtFilter를 통해 Security filterchain에 filter를 추가 등록 */ @RequiredArgsConstructor public class JwtSecurityConfig extends SecurityConfigurerAdapter { private final JwtTokenProvider jwtTokenProvider; @Override public void configure(HttpSecurity http) throws Exception { JwtTokenFilter customFilter = new JwtTokenFilter(jwtTokenProvider); http.addFilterBefore(customFilter, UsernamePasswordAuthenticationFilter.class); } }