1 package com.supwisdom.institute.backend.common.core.transmit.filter;
3 import java.io.IOException;
4 import java.net.URLDecoder;
6 import javax.servlet.Filter;
7 import javax.servlet.FilterChain;
8 import javax.servlet.FilterConfig;
9 import javax.servlet.ServletException;
10 import javax.servlet.ServletRequest;
11 import javax.servlet.ServletResponse;
12 import javax.servlet.http.HttpServletRequest;
14 import org.apache.commons.lang3.StringUtils;
16 import com.alibaba.fastjson.JSON;
17 import com.supwisdom.institute.backend.common.core.transmit.user.User;
18 import com.supwisdom.institute.backend.common.core.transmit.user.UserContext;
20 import lombok.extern.slf4j.Slf4j;
23 public class SimpleUserTransmitFilter implements Filter {
26 public void init(FilterConfig filterConfig) throws ServletException {
31 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
32 HttpServletRequest request = (HttpServletRequest) servletRequest;
34 String headerValue = request.getHeader(UserContext.KEY_USER_IN_HTTP_HEADER);
35 log.debug("Header {} is: {}", UserContext.KEY_USER_IN_HTTP_HEADER, headerValue);
36 if (StringUtils.isNotBlank(headerValue)) {
38 String jsonUser = URLDecoder.decode(headerValue,"UTF-8");
39 log.debug("jsonUser is: {}", jsonUser);
41 User user = JSON.parseObject(jsonUser, User.class);
42 log.debug("User is: {}", user);
44 UserContext.setUser(user);
45 } catch (Exception e) {
46 log.warn("User get error", e);
50 filterChain.doFilter(servletRequest, servletResponse);
54 public void destroy() {