Spring Framework/Filter
-
Spring Filter Logging- Spring Filter Hands On 4Spring Framework/Filter 2023. 10. 15. 00:01
개요 Spring Filter를 활용해서 Response, Request에 대한 로깅을 수행해보고자 합니다. 시작 전 주의사항 HttpServletRequest, HttpServletResponse의 경우에 내부적으로 Stream을 사용하기 때문에 ContentCachingRequestWrapper와 ContentCachingResponseWrapper를 사용해주어야 합니다. Stream은 한번 소비하면 재사용할 수 없습니다. Response Request Logging class ResponseRequestLoggingFilter : OncePerRequestFilter() { override fun doFilterInternal( request: HttpServletRequest, response: ..
-
Spring Filter Security로 인가처리 - Spring Filter Hands On 3Spring Framework/Filter 2023. 10. 6. 00:01
개요 Spring Security Hands On 시리즈에 들어가야 할 내용 같다고 생각하지만.. Spring Security를 활용하면 조금 더 편리하게 인가처리가 가능하기 때문에 소개하고자 합니다. Spring Security 의존성 추가 implementation("org.springframework.boot:spring-boot-starter-security") 테스트용 Controller 구현 @RestController class AuthorizationTestController { @GetMapping("/admin/admin-path") fun onlyAdmin(@RequestHeader role: String): String{ return "접근 가능" } @GetMapping("/use..
-
Spring Filter Header 인가 처리 - Spring Filter Hands On 2Spring Framework/Filter 2023. 10. 5. 00:01
개요 Spring Filter의 정의에 이어 실습으로 컨트롤러를 구성하고 헤더를 받아 컨트롤러 별 인가를 처리해보려고 합니다. 해당 방법 이외에 Spring Security를 활용할 수도 있습니다. Filter에서 범위가 조금 벗어난다고 생각이 들지만 다음 챕터에서 한번 다루어 보려고 합니다. Controller 세팅 @RestController class AuthorizationTestController { @GetMapping("/admin-path") fun onlyAdmin(@RequestHeader role: String): String{ return "접근 가능" } @GetMapping("/user-path") fun onlyUser(@RequestHeader role: String): St..
-
Spring Filter란? - Spring Filter Hands On 1Spring Framework/Filter 2023. 10. 4. 00:01
개요 Spring은 중복된 코드를 제공하기 위해 공통적인 작업을 수행하는 많은 기능들을 제공합니다. 필터, 인터셉터, AOP 등이 제공되는데 여기서 Filter에 대해서 알아보고자 합니다. Filter의 개념을 알아보고 실습을 통해 Hands On 시리즈를 작성해보고자 합니다. Spring Filter란? Spring Filter를 사용하면 Client의 요청이 Controller에 도달하기 전에 특정작업을 수행하거나, Controller가 Client로 다시 보내는 응답에 대해 부가작업을 수행할 수 있도록 지원합니다. 엄밀히 말하면 Dispatcher Servlet에 도달하기 전후로 부가작업을 수행합니다. Request 값, Response 값 로깅 request Body와 header의 포맷팅 Aut..