Spring Filter - 서블릿 필터의 동작 원리와 커스터마이징
필터(Filter)는 스프링의 독자적인 기능이 아니라 자바 서블릿 스펙이 제공하는 기능이다. DispatcherServlet에 도달하기 전에 모든 요청을 가로챌 수 있어서 인증 토큰 검사, 문자 인코딩 설정, ...
필터(Filter)는 스프링의 독자적인 기능이 아니라 자바 서블릿 스펙이 제공하는 기능이다. DispatcherServlet에 도달하기 전에 모든 요청을 가로챌 수 있어서 인증 토큰 검사, 문자 인코딩 설정, ...
JPA가 내부적으로 어떻게 동작하는지를 이해하지 못하면 “분명히 값을 바꿨는데 DB에 반영이 안 된다”, “분명히 저장했는데 조회가 안 된다”는 혼란을 겪게 된다. 영속성 컨텍스트가 JPA의 모든 마법의 원천이...
과거에는 객체를 데이터베이스에 저장하려면 복잡한 JDBC API와 SQL을 직접 작성해야 했다. MyBatis 등이 생겨나면서 JDBC API 코드는 사라졌지만 SQL을 한 땀 한 땀 작성해야 하는 번거로움은 ...
“객체지향으로 짜라”는 말은 많이 들었는데, 막상 어떻게 짜야 하는지 막막하다면 이 글이 도움이 됩니다. 객체란 무엇인지, 왜 책임·의존·캡슐화 같은 개념이 중요한지 현실적인 비유로 풀어봅니다.
한 줄 요약: AuthenticationManager(ProviderManager)는 여러 AuthenticationProvider를 관리하며 적합한 Provider에게 인증을 위임하고, 부모 Provid...
한 줄 요약: Spring Security의 인증 흐름은 Filter → AuthenticationManager → AuthenticationProvider → UserDetailsService 순서로 진...
Spring Boot로 실제 동작하는 회원 관리 프로그램을 만들어보면서 레이어드 아키텍처(Layered Architecture)의 각 층이 어떻게 분리되고 협력하는지 이해할 수 있다. 도메인 → 레포지토리 → ...
한 줄 요약: SecurityContextPersistenceFilter는 매 요청마다 세션에서 SecurityContext를 불러와 ThreadLocal에 저장하고, 요청 처리가 끝나면 변경된 Secur...
한 줄 요약: SecurityContext는 인증된 사용자 정보(Authentication)를 보관하는 저장소이며, SecurityContextHolder는 이 저장소에 접근하는 전역 API로 Thread...
Spring Boot에서 웹 요청에 응답하는 방식은 크게 세 가지다. 정적 파일을 그대로 내려주는 방식, 서버에서 HTML을 동적으로 생성하는 MVC 방식, JSON 데이터를 반환하는 API 방식이다. 각 방식...