Spring Web Project/9. 인터셉터 (Interceptor)
-
03. 게시물 적용Spring Web Project/9. 인터셉터 (Interceptor) 2021. 3. 6. 13:55
[로그인한 사용자] - 게시물의 등록 - 게시물의 수정/삭제 - 댓글 추가/수정/삭제 [일반 사용자] - 게시물의 목록 - 게시물의 조회 - 댓글 목록 1. AuthInterceptor.java > LoginInterceptor : 로그인한 사용자에 대해 postHandle()을 이용한 HttpSession 보관 처리 > AuthInterceptor : 특정 경로 접근 시 현재 사용자가 로그인한 상태의 사용자인지 체크 역할 2. AuthInterceptor 설정 3. LoginInterceptor.java > 로그인 성공 후 response.sendRedirect() 시 'dest' 정보 사용 4. 등록 페이지 Note) JSP에서 사용하는 EL의 경우 자동으로 HttpSession에 있는 'login'..
-
02. 로그인 처리Spring Web Project/9. 인터셉터 (Interceptor) 2021. 2. 15. 11:05
Note) HttpSession 객체 > 세션 쿠키(session cookie)를 통해 동작함, 서버는 필요한 경우 접속한 브라우저에게 고유한 세션 쿠키를 전달 > 세션 쿠키가 열쇠(key)라면 HttpSession은 열쇠가 필요한 잠금장치가 되어있는 상자와 유사, 이 상자들이 모여있는 공간을 '세션 저장소(Session Repository)'라고 하는데, 너무 많은 세션이 존재하면 서버의 성능에 영향을 미치기 때문에 서버에는 일정 시간 이상 사용되지 않는 상자들을 정리하는 기능 有 (web.xml을 이용하여 HttpSession의 timeout 지정) > 세션을 이용하는 방식의 핵심은 HttpSession을 이용해서 원하는 객체를 보관할 수 있다는 점 > 세션이 보관된 객체는 JSP에서 EL을 이용해 ..
-
01. Spring MVC의 인터셉터(Interceptor)Spring Web Project/9. 인터셉터 (Interceptor) 2021. 2. 15. 10:39
스프링 MVC에서 인터셉터는 웹 애플리케이션 내에서 특정한 URI 호출을 '가로채는' 역할 1. Filter와 Interceptor의 차이 (공통점) Servlet 기술의 Filter와 Spring MVC의 HandlerInterceptor는 특정 URI에 접근할 때 제어하는 용도로 사용 (차이점) 실행 시점에 속하는 영역(Context)의 차이, Filter는 동일한 웹 애플리케이션의 영역 내에서 필요한 자원들을 활용하나 Interceptor의 경우 스프링 내 모든 객체(빈)에 접근이 가능 > 예컨대, HandlerInterceptor의 경우 스프링의 빈으로 등록된 컨트롤러나 서비스 객체들을 주입받아 사용할 수 있기에 기존의 구조를 그대로 활용하면서 추가적인 작업이 가능 2. Spring AOP와 Ha..