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("过滤器销毁");
|
|
}
|
}
|