본문 바로가기

개발중/JSON Web Tokens (JWT)

[JWT🔒] Spring Security Filter

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
반응형