Spring Security 5.7.x 이후 버전에서 WebSecurityConfigurerAdapter 클래스의 deprecation 이유와 대안 방법

2023. 2. 26. 14:58·노빠꾸 개발일지/SPRING
목차
  1. 소개
  2. WebSecurityConfigurerAdapter 클래스란?
  3. WebSecurityConfigurerAdapter 클래스의 deprecation 이유
  4. WebSecurityConfigurerAdapter 클래스의 대안 방법
  5. 코드 예시
  6. WebSecurityConfigurerAdapter 상속 방식
  7. 빈(BEAN)등록 방식
  8. 결론
  9. 참고해볼만한 URL
반응형

소개

Spring Security에서 제공하는 WebSecurityConfigurerAdapter 클래스는 웹 애플리케이션의 보안 구성을 위해 사용되는 중요한 클래스입니다. 그러나 스프링 시큐리티 5.7.x 버전 이후부터는 이 클래스가 deprecation 되었습니다. 이번 피드에서는 WebSecurityConfigurerAdapter 클래스의 deprecation 이유와 대안 방법에 대해 알아보겠습니다.

WebSecurityConfigurerAdapter 클래스란?

WebSecurityConfigurerAdapter 클래스는 스프링 시큐리티에서 제공하는 클래스로, HTTP 요청에 대한 보안 구성을 설정하는 메서드를 제공합니다. 예를 들어, 로그인 폼, 로그아웃, 인증에 대한 설정을 추가할 수 있습니다.

WebSecurityConfigurerAdapter 클래스의 deprecation 이유

스프링 시큐리티 공식 문서에 따르면, WebSecurityConfigurerAdapter 클래스가 deprecated 되었으며, 다른 구현 방법을 제공하고 있습니다. 이유는 스프링 시큐리티 5.7.x 버전 이후에는 컴포넌트 기반의 보안 설정을 권장하기 때문입니다.

WebSecurityConfigurerAdapter 클래스의 대안 방법

"SecurityFilterChain Bean을 사용하여 HttpSecurity를 구성하거나 WebSecurityCustomizer Bean을 사용하여 WebSecurity를 구성할 수 있습니다."

스프링 시큐리티 공식 문서에서는 WebSecurityConfigurerAdapter 클래스가 deprecated 됨에 따라 다른 구현 방법을 제공하고 있습니다. @Bean을 등록하여 사용하는 것입니다. SecurityFilterChain, WebSecurityCustomizer을 반환하고 빈으로 등록함으로써 컴포넌트 기반의 보안 설정이 가능해집니다.

코드 예시

아래는 WebSecurityConfigurerAdapter 클래스를 상속하여 사용하는 방식과 빈을 등록하여 사용하는 방식을 비교해본 코드 예시입니다.

WebSecurityConfigurerAdapter 상속 방식


      
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http .authorizeHttpRequests((authz) -> authz .anyRequest().authenticated() ) .httpBasic(withDefaults());
}
}
@Override
public void configure(WebSecurity web) {
web.ignoring().antMatchers("/ignore1", "/ignore2");
}
}

빈(BEAN)등록 방식


      
@Configuration
public class SecurityConfiguration {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http .authorizeHttpRequests((authz) -> authz .anyRequest().authenticated() ) .httpBasic(withDefaults());
return http.build();
}
@Bean
public WebSecurityCustomizer webSecurityCustomizer() {
return (web) -> web.ignoring().antMatchers("/ignore1", "/ignore2");
}
}

결론

WebSecurityConfigurerAdapter 클래스가 deprecated 되었지만, 스프링 시큐리티에서는 다른 구현 방법을 제공하고 있습니다. 스프링 시큐리티 5.7.x 이상 버전을 사용하는 경우에는 @Bean을 등록하여 사용하는 방식을 활용해보는 것이 좋습니다.

참고해볼만한 URL

  • API문서 참고 LINK
  • 공식문서 참고 Link
반응형
저작자표시 비영리 변경금지 (새창열림)

'노빠꾸 개발일지 > SPRING' 카테고리의 다른 글

[스프링] 의존성 주입(Dependency Injection) 방법  (0) 2023.06.12
스프링 프레임워크(Spring Framework)와 스프링 부트(Spring Boot)  (0) 2023.06.03
스프링부트 프로젝트 기본 생성 방법 및 간단한 정리  (0) 2023.02.19
스프링 부트(Spring Boot)란?  (0) 2023.02.17
[Spring JPA] 스프링부트 + JPA + MySQL 프로젝트 세팅하기 - 1  (0) 2022.09.22
  1. 소개
  2. WebSecurityConfigurerAdapter 클래스란?
  3. WebSecurityConfigurerAdapter 클래스의 deprecation 이유
  4. WebSecurityConfigurerAdapter 클래스의 대안 방법
  5. 코드 예시
  6. WebSecurityConfigurerAdapter 상속 방식
  7. 빈(BEAN)등록 방식
  8. 결론
  9. 참고해볼만한 URL
'노빠꾸 개발일지/SPRING' 카테고리의 다른 글
  • [스프링] 의존성 주입(Dependency Injection) 방법
  • 스프링 프레임워크(Spring Framework)와 스프링 부트(Spring Boot)
  • 스프링부트 프로젝트 기본 생성 방법 및 간단한 정리
  • 스프링 부트(Spring Boot)란?
No Backing
No Backing
노빠꾸
    300x250
  • No Backing
    누릇한 노빠꾸 블로그
    No Backing
  • 전체
    오늘
    어제
    • 분류 전체보기 (144)
      • 노빠꾸 서버 (20)
        • AWS (0)
        • 설치관련 (7)
        • 명령어 정리 (2)
        • 서버 설정 (8)
        • Nginx (2)
      • 노빠꾸 개발일지 (70)
        • JAVA (16)
        • JQUERY & JAVASCRIPT (10)
        • HTML5 (0)
        • SPRING (16)
        • Design Patterns (1)
        • DAUM API (1)
        • GIT (10)
        • Python (1)
        • SPRING SECURITY (1)
        • Vue (3)
      • 노빠꾸 데이터베이스 (9)
        • SQL (1)
        • ORACLE (3)
        • MySql (5)
      • 노빠꾸 일상 (13)
      • 노빠꾸 책 추천 (4)
      • 노빠꾸 경제 (20)
      • 노빠꾸 맥북 사용기 (7)
      • 노빠꾸 정보처리기사 정리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    스프링부트
    스프링 시큐리티 5.7 버전이후 변경사항
    리노드
    스프링부트 JPA
    Linode
    리눅스 자바 설치
    WebSecurityConfigurerAdapter Deprecated
    경제용어
    맥북 사용 팁
    우분투 자바 설치
    websecurityconfigureradapter 빈 등록
    JPA 쿼리 메소드
    websecurityconfigureradapter 변경사항
    인텔리제이
    websecurityconfigureradapter 사용법
    깃허브 코파일럿
    개인서버 추천
    맥북 단축키
    스프링시큐리티 websecurityconfigureradapter
    MySQL 데이터베이스 생성
    WebSecurityConfigurerAdapter
    스프링부트란
    주식용어
    websecurityconfigureradapter란
    MySQL 사용자 계정 생성
    티스토리 사이트맵 등록
    사이트맵
    스프링부트 프로젝트
    금융용어
    Spring boot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
No Backing
Spring Security 5.7.x 이후 버전에서 WebSecurityConfigurerAdapter 클래스의 deprecation 이유와 대안 방법
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.