package com.qianwen.smartman.modules.sync.handler; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.qianwen.smartman.modules.auth.utils.TokenUtil; import org.springframework.stereotype.Component; @WebFilter(filterName = "MyFilter", urlPatterns = {RequestParameterFilter.FILTER_URL}) @Component public class RequestParameterFilter implements Filter { private static final Logger log = LoggerFactory.getLogger(RequestParameterFilter.class); public static final String FILTER_URL = "/blade-auth/qy-wechat/token"; public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; if ("/static/qy/js/axios.min.map".equals(((HttpServletRequest) request).getRequestURI())) { return; } if (((HttpServletRequest) request).getRequestURI().equals(FILTER_URL)) { HeaderMapRequestWrapper requestWrapper = new HeaderMapRequestWrapper(req); log.info("[企业微信扫码登录].[拦截器 填充Header参数]"); String authorization = request.getParameter("state"); requestWrapper.addHeader(TokenUtil.HEADER_KEY, authorization); chain.doFilter(requestWrapper, response); return; } chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { } }