UsernamePasswordAuthenticationToken 2

SecurityContextHolder

Spring Security의 인증부분을 공부하던 도중 SecurityContextHolder에 관해 의문점이 생겨 포스트를 작성하게 되었다. SecurityContextHolder는 위와 같이 Spring Security에서 UsernamePasswordAuthenticationFilter에서 인증작업을 모두 마친 후 UserPasswordAuthenticationToken을 SecurityContextHolder에 담아 보관하게 된다. 하지만 공부 도중 실습단계에서 구현한 코드에는 해당 내용을 찾을 수 없엇다. 대신 OncePerRequestFilter를 상속받는 또 다른 Filter에서 SecurityContextHolder를 찾을 수 있었다. public class JwtVerificationFi..

Personal Research 2023.05.18

Spring Security의 인증 처리 흐름

이전 포스트에서 클라이언트의 요청이 Spring Security Filter까지 도달하는 과정을 포스트 했었다. 이번 포스트에서는 도달한 사용자의 인증 요청이 Spring Security Filter Chain의 특정 Filter에 도달했을 때, Spring Security의 컴포넌트들이 어떤 과정을 거쳐 사용자의 인증 요청을 처리하는지 그 흐름에 대해 포스트 할 예정이다. Spring Security의 인증(Authentication) 처리 흐름 위의 그림은 개발자가 지정한 특정한 URL(로그인)으로 포스트요청이 들어왔을때의 처리 흐름이다. 먼저 (1)에서 사용자가 로그인 폼 등을 이용해 Username(로그인 ID)과 Password를 포함한 request를 Spring Security가 적용된 애플..