Spring
-
[AWS + Spring] EB + Spring Boot + Aurora RDS 연동 및 Read/Write 분산 처리 (1)Spring 2023. 1. 4. 11:50
이번 포스팅에선 Spring Boot에 Aws Aurora RDS를 연동하고 Read와 Write의 부하 분산 처리를 구성하여 Elastic Beanstalk에 배포(jar)하는 예제를 진행한다 . + 추가적으로 Intellij Database Tool에 SSH 터널링으로 Aurora 연동까지 진행한다. 시작하기 전에 Database Replication의 간단한 개념을 살펴보자. Database Replication Database Replication은 데이터베이스를 복제하는걸 말하는데 기준이 되는 서버가 Primary, 복제 서버는 Secondary라고 한다. 기준이 되는 Primary는 1대로 구성되며 복제된 Secondary는 N대로 구성된다. Database Replication 구성하는 이유..
-
[Spring] Spring에서 CORS 처리(설정)하는 방법Spring 2022. 10. 27. 08:25
❗️ Spring에서 Cors를 적용하는 방법에 대해 작성해본다. CORS(Cross-Origin Resource Sharing) CORS(Cross-origin 리소스 공유)는 최신 웹 브라우저의 보안 기능이다. 이 기능을 사용하면 웹 브라우저가 어떤 도메인이 외부 웹 사이트 또는 서비스를 요청할 수 있을지 협상할 수 있다. 대부분의 리소스 요청이 외부 도메인(예: 웹 서비스용 엔드포인트)으로 전송되기 때문에 CORS는 중요한 고려 대상이다. CORS는 다음을 기준으로 cross-origin 요청 시 리소스 공유 여부를 결정한다. 1. 요청을 수행한 특정 도메인 2. 수행 중인 HTTP 요청 유형(GET, PUT, POST, DELETE 등) 즉, 간단히 정의하면 CORS는 웹서버와 WAS가 서로 도메..
-
[Spring] Spring에서 Scheduler 처리하기Spring 2022. 10. 26. 09:08
일정한 시간간격 또는 일정한 시각에 특정 로직을 돌리기 위해서 사용하는 것을 'Scheduler' 라고 한다. Spring에선 'Spring Scheduler' 라이브러리를 제공한다. 💡 Spring Scheduler Spring Scheduler는 Spring Boot starter에 기본적인 의존성이 제공되기 때문에 별도의 추가적인 의존성이 필요하지 않다. 사용하기 위해서 Application Class에 @EnableScheduling 어노테이션 선언 Application.class @EnableScheduling @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplica..
-
Spring Boot 공통 Global Exception HandlerSpring 2022. 10. 23. 17:46
🎈 Spring에서 전역적으로 Exception을 처리하는 방법을 포스팅한다. 예외를 처리하는 방법은 다양하게 있다. 1. 메서드 내 예외 상황을 예측하여 try-catch문 사용 2. 요구사항에 대한 예외 처리 (validation) 3. Intercepter에서 선 예외 처리 4. HandlerExceptionResolver 5. ExceptionHandlerExceptionResolver 6. DefaultHandlerExceptionResolver 7. ResponseStatusExceptionResolver 위와 같은 방법들 말고도 다양한 예외 처리 방법이 존재한다. 하지만 각각의 에러에 일일이 처리하다보면, 비즈니스 로직에 집중을 할 수 없고, 코드가 복잡해지는 상황이 발생한다. 궁극적으로, ..
-
Spring Security + JWT 회원가입, 로그인 (3)Spring 2022. 10. 23. 17:11
💡 지난 포스트에 이어서 Security의 403 Forbidden 에러를 핸들링 하는 Class를 설정해보겠습니다. 이전 포스팅은 해당 링크를 참조 해주시길 바랍니다. https://developer-been.tistory.com/3 Spring Security + JWT 회원가입, 로그인 (2) 🎈 지난 게시글에선 Spring Security의 구조와 필요한 Settings을 다뤘습니다. 이어서 Security에 필요한 Class들을 다뤄보겠습니다. 지난 포스팅은 아래 링크를 참조 하시길 바랍니다. https://developer-been.ti developer-been.tistory.com Spring Security AccessDeniedHandler인터페이스와 AuthenticationEntry..
-
Spring Security + JWT 회원가입, 로그인 (2)Spring 2022. 10. 23. 16:13
🎈 지난 게시글에선 Spring Security의 구조와 필요한 Settings을 다뤘습니다. 이어서 Security에 필요한 Class들을 다뤄보겠습니다. 지난 포스팅은 아래 링크를 참조 하시길 바랍니다. https://developer-been.tistory.com/2 Spring Security + JWT 회원가입, 로그인 (1) 해당 포스팅은 Spring Secuiry + JWT + JPA 를 이용해 회원가입, 로그인 관련 예제 입니다. 환경 : Spring boot(2.5.5) + Mysql Spring Security 영역 인증(Authentication)과 권한(Authorization) 인증(Authentication) : 보호된 리 developer-been.tistory.com 📌 인증..
-
Spring Security + JWT 회원가입, 로그인 (1)Spring 2022. 10. 23. 15:55
해당 포스팅은 Spring Secuiry + JWT + JPA 를 이용해 회원가입, 로그인 관련 예제 입니다. 환경 : Spring boot(2.5.5) + Mysql Spring Security 영역 인증(Authentication)과 권한(Authorization) 인증(Authentication) : 보호된 리소스에 접근하는 사용자에게 적절한 접근 권한이 있는지 확인하는 일련의 과정 접근 주체(Principal) : 보호된 리소스에 접근하는 대상(사용자) 권한(Authorization) : 인증절차가 끝난 접근 주체가 보호된 리소스에 접근 가능한지를 결정 인가(Authorize) : 권한을 부여하는 작업 즉, 인증은 아이디와 비밀번호를 입력 받아 로그인 하는 과정 자체를 의미하는 것이고 권한이 필요..