Package com.easydesk.filter
Class RequestContextFilter
java.lang.Object
com.easydesk.filter.RequestContextFilter
- All Implemented Interfaces:
Filter
- Direct Known Subclasses:
WebRequestContextFilter
TODO : 순서가 필요하면 interface 구현
일단 맨 뒤쪽에 등록된다.
RequestContextFilter : 현재 사용자의 User/ActivitySet (RequestContext) 을
세션에서 읽어와 요청이 처리되는 동안 ThreadLocal(RequestContextHolder)에 바인딩해준다.
SecurityContextFilter, SessionContextFilter
와 완전히 동일한 패턴이다 - Context 를 만들거나 갱신하는 것은 이 Filter 의 역할이 아니고
(로그인, Module 선택 등 실제 값이 정해지는 곳에서 session.setAttribute(ITEM_SESSION_KEY, ...) 로
직접 등록/갱신한다), 이 Filter 는 세션에 이미 등록되어 있는 값을 매 요청마다 ThreadLocal 에
바인딩/해제 하는 것만 담당한다. 즉 세션이 살아있는 동안에는 등록된 RequestContext 가 이 Filter 를
통해 애플리케이션 어디서든(RequestContextHolder.getContext()) 계속 추적된다.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddoFilter(ServletRequest request, ServletResponse response, FilterChain chain)
-
Field Details
-
REQUEST_SESSION_KEY
- See Also:
-
-
Constructor Details
-
RequestContextFilter
public RequestContextFilter()
-
-
Method Details
-
doFilter
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException - Specified by:
doFilterin interfaceFilter- Throws:
IOExceptionServletException
-