Spring

Spring

[Spring] GlobalExceptionFilter 에 적용한 Exception 잡히지 않는 오류

1. 문제상황AOP 를 활용해서 요청의 권한을 검증하고권한이 없는 경우 AccessDenieedException 을 던지고GlobalExceptionHandler 에서 잡아서 처리하길 기대했다. 문제의 코드 ( 권한 검증 AOP ) @Before("@annotation(requireBookAuthority)") public void verifyAttendanceBookAuthority(JoinPoint joinPoint, RequiredBookAuthority requireBookAuthority) throws Throwable { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getReq..

Spring

[Spring] GlobalExceptionHandler 구현하기

0. 배경지식이 글을 이해하기 위해 필요한 간단한 기본 지식을 설명 드리겠습니다. 백엔드 개발자에게 예외 처리란 중요한 작업 중 하나입니다.서비스 운영 시에는 예외를 로깅하고 예외를 가공해서 사용자에게 필요한 정보만을 노출하는 것이 중요합니다. 이러한 예외 처리를 Spring 은 다양한 기능으로 추상화 해 개발자의 예외 처리 어려움을 덜어줍니다.Spring 은 예외 처리를 위해 기본적으로 3 가지의 ExceptionResolver 를 제공합니다. ExceptionHandlerExceptionResolverResponseStatusExceptionResolverDefaultHandlerExceptionResolver이 ExceptionResolver 가 동작하는 순서는 1 -> 2 -> 3 입니다.즉 Ex..

Spring

[Spring] Bean Validation 이란 ?

0. 표준화 된 Validation 이 필요한 이유 먼저 Validation 기능이 왜 필요한지 아래의 사진을 봅시다. 만약 공통화된 Validation 기능이 없다면 어떻게 될까요 ?위의 그림 처럼 각각의 계층에서 반복적으로 Custom Validation 을 진행해야 할 겁니다. 하지만 개발자들이 누구입니까 ?게으르기 위해 성실한 사람들 아니겠습니까?이 반복적인 Custom Validation 을 제거하기 위해서 표준화된 Validation 기능이 필요했습니다. 그리고 표준화된 Validation 기능을 적용하면 아래의 그림처럼 되는 것이죠. 도메인 모델을 정의하고 도메인 모델에 Validation을 적용하게 되면 각각의 계층에서 불필요한 Validation 기능을 삭제할 수 있게 됩니다.그렇다면 B..

Spring Security

Spring Security, OAuth2.0 Client, JWT 로그인 구현하기 - 1

1. OAuth2.0 이란?OAuth 2.0은 특정 사용자나 시스템이 자신의 자원에 접근할 수 있도록 제한된 권한을 제3의 애플리케이션에 부여하는 방식을 정의한 인증 및 권한 부여 프로토콜입니다.말이 어렵죠 ? 간단한 상황을 예시로 들어보겠습니다.A 라는 Client 가 제가 만들고 있는 출석부 서비스 체쿠리에 인증 요청을 할 때인증을 체쿠리 서버에서 하는 것이 아니라제3의 어플리케이션에게(ex. 카카오톡) 인증 대리를 맡기면인증 완료 후 제3의 어플리케이션으로 부터 체쿠리 서버가 인증 정보를 받게 되는 시스템 입니다. 아래의 카카오톡에서 제공하는 카카오톡 OAuth2 인증 절차를 보시면 더 쉽게 이해가 되실 겁니다. 2. 카카오톡 OAuth2 과정  2-1. 용어 정리이 인증 절차를 설명하기 전에 용어..

후뿡이
'Spring' 태그의 글 목록