Spring Framework

Spring Framework/Spring

[Spring Cloud] Eureka Server, Discovery Service 이해하기

웹 애플리케이션을 개발하면서 REST API를 이용해 다른 서비스를 호출할 때는, 다른 서비스에서는 호출하려는 인스턴스가 있는 곳의 네트워크 정보를 알아야 합니다. → 클라이언트나 API GateWay는 호출할 서비스를 찾는 메커니즘이 필요하고, 이것을 Service Discovery라고 합니다. Spirng Cloud Netflix Eureka가 Service Discovery 역할을 합니다. Spring Eureka Discovery Service Spring Eureka Discovery Service는 마이크로서비스 아키텍처(MSA)에서 핵심적인 역학을 합니다. 마이크로서비스들의 위치를 찾아주는 지도와 같은 역할을 합니다. MSA에서 마이크로서비스들의 위치를 동적으로 찾아오는 역할을 합니다. 클라..

Spring Framework/Spring

[Spring] Spring CORS 설정 & 이슈 해결 및 웹 애플리케이션 통신 이해하기

CORS(Cross-Origin Resource Sharing) 란 웹 애플리케이션에서 다른 출처(origin)의 리소스에 접근할 수 있는 규칙을 정의하는 메커니즘입니다. 웹 브라우저는 보안 상의 이유로 스크립트가 동일한 출처에서 실행될 때만 리소스에 접근을 허용합니다. 그러나 이로 인해 다른 출처의 리소스에 접근하는 요청이 차단되는 문제가 발생할 수 있습니다. 이를 해결하기 위해 CORS가 도입되었습니다. 개발하면서 마주치는 CORS 에러 분석하기 Warning! Access to fetch at ‘https://myhompage.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy: No ‘Access-Control-Allo..

Spring Framework/Spring boot

Springboot JWT 인증과 권한 처리하기 - 커스텀 어노테이션과 HandlerInterceptor 활용

Spring의 HandlerInterceptor 구현을 통해 사용자 요청을 가로채어 처리할 수 있는 인터셉터입니다. 이 인터셉터는 특정 핸들러 메서드에 커스텀 어노테이션이 붙어 있을 경우, 해당 요청이 유효한지 검증합니다.  저는 HandlerInterceptor를 통해 인증된 사용자의 권한과 특정 조건을 검사하기 위해 사용했습니다.로그인한 사용자가 게시글의 작성자인지 확인이 필요한 경우 서비스를 사용하다 보면 로그인 없이 접근 가능한 페이지(홈 페이지 등)가 있고, 로그인을 하거나 추가 권한이 있는 경우에만 접근이 가능한 페이지(게시글 수정, 삭제, 마이페이지)가 존재합니다.  1. 커스텀 어노테이션 만들기/** * @CheckCombinationOwner : 현재 사용자가 게시글을 작성한 사용자인지..

Spring Framework/Spring boot

[Spring boot] Spring 커스텀 어노테이션으로 로그인된 사용자 정보 불러오기 - HandlerMethodArgumentResolver, Webconfig

스프링부트를 통해 프로젝트를 진행하면 "Custom Annotation"을 통해 간편하게 로그인한 사용자의 정보를 불러올 수 있습니다. Controller의 메서드는 사용자의 HTTP, HTTPS 요청을 Serivce에 전달하는 등 핵심 기능만 담당하고, 현재 로그인이 되어있는 사용자의 정보는 어노테이션을 통해 처리합니다. 로그인된 사용자의 정보 불러오기 HandlerMethodArgumentResolver 인터페이스를 구현한 클래스를 추가하여 컨트롤러에서 파라미터에 값을 바인딩 해줄 수 있습니다. @PathVariable의 원리도 HandlerMethodArgumentHandler에 의해서 처리되는 것입니다. 1. 커스텀 어노테이션 정의하기 import java.lang.annotation.*; @Ta..

kylo
'Spring Framework' 카테고리의 글 목록 (12 Page)