wuxw
2019-03-30 28c643cc4d3142503dfa5234777399586e8364e9
java110-service/src/main/java/com/java110/service/filter/JwtFilter.java
@@ -10,10 +10,7 @@
import org.slf4j.LoggerFactory;
import org.springframework.web.filter.GenericFilterBean;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.*;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -24,16 +21,34 @@
/**
 * Created by wuxw on 2018/5/2.
 */
public class JwtFilter extends GenericFilterBean {
public class JwtFilter implements Filter {
    private final static Logger logger = LoggerFactory.getLogger(JwtFilter.class);
    private  String[] excludedUris;
    @Override
    public void destroy() {
        // TODO Auto-generated method stub
    }
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        excludedUris = filterConfig.getInitParameter("excludedUri").split(",");
    }
    public void doFilter(final ServletRequest req, final ServletResponse res, final FilterChain chain)
            throws IOException, ServletException {
        final HttpServletRequest request = (HttpServletRequest) req;
        final HttpServletResponse response = (HttpServletResponse) res;
        String uri = request.getServletPath();
        //如果是 不能过滤的地址选择跳过
        if(isExcludedUri(uri)){
            chain.doFilter(request, response);
            return ;
        }
        String token = "";
        try {
            //获取token
@@ -97,4 +112,18 @@
        }
    }
    private boolean isExcludedUri(String uri) {
        if (excludedUris == null || excludedUris.length <= 0) {
            return false;
        }
        for (String ex : excludedUris) {
            uri = uri.trim();
            ex = ex.trim();
            if (uri.toLowerCase().matches(ex.toLowerCase().replace("*",".*")))
                return true;
        }
        return false;
    }
}