package com.basic.analy.filter; import com.basic.analy.utils.HttpUtil; import com.basic.analy.utils.RequestUtil; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; @Component //必须加,让springboot扫描的到 @WebFilter(urlPatterns = "/*", filterName = "tokenFilter") public class TokenFilter implements Filter { @Autowired private HttpUtil httpUtil; private Logger log = Logger.getLogger(TokenFilter.class); @Override public void init(FilterConfig filterConfig) throws ServletException { log.info("过滤器初始化"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)servletRequest; HttpServletResponse response = (HttpServletResponse)servletResponse; String token= RequestUtil.getTokenByParam(); String userName = httpUtil.doGet(token); HttpSession session = request.getSession(); session.setAttribute("userName",userName); filterChain.doFilter(servletRequest, servletResponse); //表示放行,进行下一个操作,往下没有拦截链的话就进入该进的资源或者controller /*if(userName!=null&&!"".equals(userName)){ log.info("当前用户为"+userName+" 是合法用户,可以放行!!"); }else{ log.info("不是合法用户,不能放行!!"); }*/ } @Override public void destroy() { log.info("过滤器销毁"); } }