지원중단
스프링 시큐리티 5.7.x 부터 WebSecurityConfigurerAdapter 는 Deprecated 되었습니다. 찾아보니 상황에 따라 SecurityFilterChain 과 WebSecurityCustomizer 를 빈으로 등록해 사용하는 방식을 권장하는 것 같아 저는 아래 코드처럼 사용하고 있습니다. https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter @Configuration@EnableWebSecurity@RequiredArgsConstructorpublic 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()); }}