학습 목표
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 |