-
Spring Security 적용 후 403 에러... 그리고 "http.csrf.disable()" deprecatedDEV/spring 2024. 2. 19. 18:17
Spring framework security 적용 후 api 호출에서 403에러가 발생하였다.
WebSecurityConfig를 작성하여 해당 에러를 해결하자.
참고로 "http.csrf.disable()"는 deprecated가 뜰 것이다. "http.csrf(AbstractHttpConfigurer::disable)"로 변경하여 사용하자.
WebSecurityConfig.java
package com.ssg.demo.v2.ssgdemov2; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; @Configuration @EnableWebSecurity public class WebSecurityConfig { @Bean // 어떠한 url로 진입을 해도 로그인 페이지로 인도 SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http // 403, "http.csrf.disable()" deprecated .csrf(AbstractHttpConfigurer::disable) .authorizeHttpRequests((authorizeHttpRequests) -> authorizeHttpRequests // HTTP 요청에 대한 권한 설정, 모든 경로로 지정("/**") // permitAll() : 해당 요청에 대한 모든 사용자에게 접근 권한 부여 .requestMatchers(new AntPathRequestMatcher("/**")).permitAll() ); return http.build(); } @Bean // BCryptPasswordEncoder의 interface PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Bean // Spring 보안 및 인증 담당 AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception { return authenticationConfiguration.getAuthenticationManager(); } }
'DEV > spring' 카테고리의 다른 글
Spring Header Authorization에 토큰 지정 (1) 2024.02.20 Spring jakarta 의존성 주입 (0) 2024.02.20 Spring boot + React 시작하기 4 (비밀번호 암호화하여 DB에 적재하기 Spring Security) (0) 2024.02.19 Spring boot + React 시작하기 3 (로그인 및 회원가입, 회원 관리 만들기) - 로그인 + 토큰생성 (0) 2024.02.13 Spring boot + React 시작하기 2 (로그인 및 회원가입, 회원 관리 만들기) - 회원 가입 (1) 2024.02.06