본문 바로가기
SpringBoot

BankApp - intercepter 활용

by 남행비 2023. 9. 22.

학습 목표

1. AuthIntercepter 구현 클래스 만들기

2. WebMvcConfig 구현 클래스 만들기

3. 코드 수정 - 인증 처리 일괄 적용 하기 (AccountController 수정)

 

HandlerInterceptor 는 spring boot MVC 에서 제공하는 인터셉터로 AOP 개념과는 다르게 서블릿 필터처럼 동작 합니다.
즉, 클라언트의 요청이 컨트롤러에 도달하기 전에 인터셉터 요청/응답을 가로채어 필요한 로직을 수행할 수 있습니다.

반면, AOP(Aspect-Orented Programming)은 관점 지향 프로그래밍으로 횡단 관심사를 핵심 관심사(core concerns) 분리하여 구현하는 기법입니다.

따라서 HandlerInterceptor 는 AOP 와는 개념적으로 다르지만 AOP 유사한 효과를 얻을 수 있는 기능 입니다.

 

 

 

package 새로 생성

AuthInterceptor.java 클래스 생성

 

 

WebMvcConfig class 생성

 

 

 

AccountController

//1. 인증 여부 확인
User user = (User)session.getAttribute(Define.PRINCIPAL);
if(user == null) {
throw new UnAuthorizedException("로그인 먼저 해요", HttpStatus.UNAUTHORIZED);
}

// 1. 인증 검사
User user = (User)session.getAttribute(Define.PRINCIPAL);
if(user == null) {
throw new UnAuthorizedException("로그인 먼저 해요", HttpStatus.UNAUTHORIZED);
}

intercepter 만들었으니 컨트롤러 안 함수들에 작성되있던 이 두가지 코드 다 삭제해도됨

 

 

지우고 나서도 정상 작동된 화면

'SpringBoot' 카테고리의 다른 글

BankApp - 암호화 처리  (0) 2023.09.22
BankApp - 마이그레이션  (0) 2023.09.22
REST API 란  (0) 2023.09.22
(도전) 나이스페이 결제취소  (0) 2023.09.21
BankApp - 상세 보기 페이지 - 2  (0) 2023.09.21