반응형
이전에 만들어둔 코드가 있는데
새로운 프로젝트를 생성하면서 다시 가져다 쓰려니 deprecated 가 되어있었다.
바로 WebSecurityConfigurerAdapter 이다.
기존에 사용하던 코드는 아래와 같다.
@Slf4j @EnableGlobalMethodSecurity(prePostEnabled = true) @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { ..이상 생략 @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception{ auth.userDetailsService(service).passwordEncoder(encryptPassword()); } ..이하 생략 |
새롭게 만들어진 프로젝트는 Spring security 6.3.3 버전이고 Spring security 5.7 버전 이상일 경우부터 WebSecurityConfigurerAdapter가 사용이 안된다.
그럼 기존 코드를 어떻게 변경해야하는지 아래에 코드로 살펴보면,
@Slf4j @Configuration public class SecurityConfig { ..이상 생략 @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { ..이하 생략 |
이렇게 변경하여 사용이 가능하다.
SecurityFilterChain 를 Bean 받아서 사용이 가능하다.
추가적으로 http 설정을 아래에 적어주게 되는데 기존에는 antMatchers 를 아래와 같이 사용하였다.
.antMatchers("/", "/test/**", "/lib/**", "/js/**", "/css/**", "/image/**").permitAll() |
이러면 해당 경로의 접근은 허용이 되게 된다.
이 코드는 아래와 같이 변경이 가능하다.
.requestMatchers("/", "/test/**", "/lib/**", "/js/**", "/css/**", "/image/**").permitAll() |
requestMatchers 를 사용하면 된다.
즉,
WebSecurityConfigurerAdapter -> SecurityFilterChain
antMatchers -> requestMatchers
로 변경해서 사용 가능하다.
반응형
'IT > Java' 카테고리의 다른 글
템플릿 메서드 패턴 예제(Template Method Pattern) (12) | 2024.10.24 |
---|---|
익명클래스 -> Lambda(람다식) 변환 예제 (15) | 2024.10.22 |
[Error] Executing an update/delete query (9) | 2024.10.20 |
[Error] Encoded password does not look like BCrypt (12) | 2024.10.19 |
Generic Type 2 (17) | 2024.10.14 |
댓글