[JWT🔒] Spring Security Filter

2022. 3. 27. 19:26·개발중/JSON Web Tokens (JWT)
728x90
반응형

 

실제로 스프링 시큐리티는 훨씬 다양한 필터체인을 사용하여 다양한 커스터마이징을 할 수 있도록 돕습니다.

 

 

 

  • SecurityContextPersistentFilter
    • SecurityContextRepository에서 SecurityContext를 가져와서 SecurityContextHolder에 주입하거나 반대로 저장하는 역할을 합니다.

 

  • LogoutFilter
    • logout 요청을 감시하며, 요청시 인증 주체(Principal)를 로그아웃 시킵니다.

 

  • UsernamePasswordAuthenticationFilter
    • login 요청을 감시하며, 인증 과정을 진행합니다.

 

  • DefaultLoginPageGenerationFilter
    • 사용자가 별도의 로그인 페이지를 구현하지 않은 경우, 스프링에서 기본적으로 설정한 로그인 페이지로 넘어가게 합니다.

 

  • BasicAuthenticationFilter
    • HTTP 요청의 (BASIC)인증 헤더를 처리하여 결과를 SecurityContextHolder에 저장합니다.

 

  • RememberMeAuthenticationFilter
    • SecurityContext에 인증(Authentication) 객체가 있는지 확인하고 RememberMeServices를 구현한 객체 요청이 있을 경우, RememberMe를 인증 토큰으로 컨텍스트에 주입합니다.

 

  • AnonymousAuthenticationFilter
    • 이 필터가 호출되는 시점까지 사용자 정보가 인증되지 않았다면 익명 사용자로 취급합니다.

 

  • SessionManagementFilter
    • 요청이 시작된 이후 인증된 사용자인지 확인하고, 인증된 사용자일 경우 SessionAuthenticationStrategy를 호출하여 세션 고정 보호 매커니즘을 활성화 하거나 여러 동시 로그인을 확인하는 것과 같은 세션 관련 활동을 수행합니다.

 

  • ExceptionTranslationFilter
    • 필터체인 내에서 발생되는 모든 예외를 처리합니다.

 

  • FilterSecurityInterceptor
    • AccessDecisionManager로 권한부여처리를 위임하고 HTTP 리소스의 보안 처리를 수행합니다.

다음글 [JWT🔒] JWT(Json Web Token)

 

[JWT🔒] JWT(Json Web Token)

JWT(Json Web Token)은 JSON 객체를 통해 안전하게 정보를 전송할 수 있는 웹표준(RFC7519) 입니다. JWT는 '.'을 구분자로 세 부분으로 구분되어 있는 문자열로 이루어져 있습니다. 각각 헤더는 토큰 타입과

soobindeveloper8.tistory.com


 

728x90
반응형
저작자표시 (새창열림)

'개발중 > JSON Web Tokens (JWT)' 카테고리의 다른 글

[JWT🔒] JWT(Json Web Token)  (0) 2022.03.27
[JWT🔒] 스프링 시큐리티의 구조  (0) 2022.03.27
[JWT🔒] 인증(Authentication)과 권한(Authorization)  (0) 2022.03.27
'개발중/JSON Web Tokens (JWT)' 카테고리의 다른 글
  • [JWT🔒] JWT(Json Web Token)
  • [JWT🔒] 스프링 시큐리티의 구조
  • [JWT🔒] 인증(Authentication)과 권한(Authorization)
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (939)
      • 개발중 (635)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (88)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (18)
        • 기록 (3)
        • 캐글 스터디 (3)
        • R (12)
      • 논문 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    네트워크 관리사 자격증
    java
    리눅스 1급 요약
    쿠버네티스 스터디
    리눅스 마스터
    네트워크 관리사 실기
    git
    REST API
    알고리즘
    springboot
    redis
    Spring
    docker
    파이썬
    리눅스 마스터 1급 요약
    VUE
    jpa
    스프링
    리눅스 마스터 요약
    리눅스 마스터 1급 정리
    네트워크 관리사 학점
    리눅스 마스터 1급
    BackendDevelopment
    쿠버네티스
    네트워크 관리사 요약
    Git 저장소
    네트워크 관리사
    파이썬 알고리즘
    네트워크 관리사 2급 실기
    네트워크 관리사 2급
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
[JWT🔒] Spring Security Filter
상단으로

티스토리툴바