지원중단
스프링 시큐리티 5.7.x 부터 WebSecurityConfigurerAdapter 는 Deprecated 되었습니다. 찾아보니 상황에 따라 SecurityFilterChain 과 WebSecurityCustomizer 를 빈으로 등록해 사용하는 방식을 권장하는 것 같아 저는 아래 코드처럼 사용하고 있습니다. https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig { private final AccountService accountService ; private final DataSource dataSource ; /** * Spring Security 5.7.x 부터 WebSecurityConfigurerAdapter 는 Deprecated. * -> SecurityFilterChain, WebSecurityCustomizer 를 상황에 따라 빈으로 등록해 사용한다 . */ @Bean public SecurityFilterChain securityFilterChain (HttpSecurity http) throws Exception { return http.authorizeRequests() .mvcMatchers( "/" , "/login" , "/sign-up" , "/check-email" , "/check-email-token" , "/email-login" , "/check-email-login" , "login-link" , "/profile/*" ).permitAll() .mvcMatchers(HttpMethod. GET , "/profile/*" ).permitAll() .anyRequest().authenticated() .and() .formLogin().loginPage( "/login" ).permitAll() .and() .logout().logoutSuccessUrl( "/" ) .and() .rememberMe().userDetailsService( accountService ).tokenRepository(tokenRepository()) .and().build() ; } @Bean public WebSecurityCustomizer webSecurityCustomizer () { return (web) -> web.ignoring() .mvcMatchers( "/node_modules/**" ) .requestMatchers(PathRequest. toStaticResources ().atCommonLocations()) ; } }