| | |
| | | package com.whyc.filter; |
| | | |
| | | import com.whyc.pojo.User; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import javax.servlet.*; |
| | | import javax.servlet.annotation.WebFilter; |
| | | import javax.servlet.annotation.WebInitParam; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.IOException; |
| | | import java.io.PrintWriter; |
| | | |
| | | @Slf4j |
| | | /*@WebFilter(filterName = "loginFilter",urlPatterns = "/*",initParams = { |
| | | @WebInitParam(name = "exclusions",value = "*.css,*.js") |
| | | })*/ |
| | | //@WebInitParam(name = "exclusions",value = "*.css,*.js") |
| | | public class LoginFilter implements Filter { |
| | | |
| | | private String exclusions = ""; |
| | | |
| | | public void destroy() { |
| | | } |
| | | |
| | | public void doFilter(ServletRequest req, ServletResponse resp, |
| | | FilterChain chain) throws IOException, ServletException { |
| | | HttpServletRequest request=(HttpServletRequest)req; |
| | | |
| | | String URL=request.getRequestURI(); |
| | | String[] uri=request.getRequestURI().split("/"); |
| | | String source=""; |
| | | if(uri.length>0) { |
| | | source = uri[uri.length - 1]; |
| | | } |
| | | String suffix = source.substring(source.indexOf(".")+1); |
| | | User user=(User)request.getSession().getAttribute("user"); |
| | | |
| | | //不拦截swagger的资源请求,以及登录请求 |
| | | if(URL.indexOf("swagger-resources")>-1 ||URL.indexOf("swagger-ui")>-1 ||URL.indexOf("v2/api-docs")>-1||URL.indexOf("login")>-1){ |
| | | chain.doFilter(req,resp); |
| | | } |
| | | //不拦截静态资源css/js |
| | | else if(exclusions.indexOf(suffix)>-1){ |
| | | chain.doFilter(req,resp); |
| | | } |
| | | else if(user!=null){ |
| | | chain.doFilter(req, resp); |
| | | }else{ |
| | | PrintWriter out=resp.getWriter(); |
| | | out.print("<script charset='UTF-8'>window.location.href='index.html'</script>"); |
| | | } |
| | | } |
| | | |
| | | public void init(FilterConfig config) throws ServletException { |
| | | exclusions =config.getInitParameter("exclusions"); |
| | | } |
| | | |
| | | } |
| | | //package com.whyc.filter; |
| | | // |
| | | //import com.whyc.pojo.User; |
| | | //import lombok.extern.slf4j.Slf4j; |
| | | // |
| | | //import javax.servlet.*; |
| | | //import javax.servlet.annotation.WebFilter; |
| | | //import javax.servlet.annotation.WebInitParam; |
| | | //import javax.servlet.http.HttpServletRequest; |
| | | //import java.io.IOException; |
| | | //import java.io.PrintWriter; |
| | | // |
| | | //@Slf4j |
| | | ///*@WebFilter(filterName = "loginFilter",urlPatterns = "/*",initParams = { |
| | | // @WebInitParam(name = "exclusions",value = "*.css,*.js") |
| | | //})*/ |
| | | ////@WebInitParam(name = "exclusions",value = "*.css,*.js") |
| | | //public class LoginFilter implements Filter { |
| | | // |
| | | // private String exclusions = ""; |
| | | // |
| | | // public void destroy() { |
| | | // } |
| | | // |
| | | // public void doFilter(ServletRequest req, ServletResponse resp, |
| | | // FilterChain chain) throws IOException, ServletException { |
| | | // HttpServletRequest request=(HttpServletRequest)req; |
| | | // |
| | | // String URL=request.getRequestURI(); |
| | | // String[] uri=request.getRequestURI().split("/"); |
| | | // String source=""; |
| | | // if(uri.length>0) { |
| | | // source = uri[uri.length - 1]; |
| | | // } |
| | | // String suffix = source.substring(source.indexOf(".")+1); |
| | | // User user=(User)request.getSession().getAttribute("user"); |
| | | // |
| | | // //不拦截swagger的资源请求,以及登录请求 |
| | | // if(URL.indexOf("swagger-resources")>-1 ||URL.indexOf("swagger-ui")>-1 ||URL.indexOf("v2/api-docs")>-1||URL.indexOf("login")>-1){ |
| | | // chain.doFilter(req,resp); |
| | | // } |
| | | // //不拦截静态资源css/js |
| | | // else if(exclusions.indexOf(suffix)>-1){ |
| | | // chain.doFilter(req,resp); |
| | | // } |
| | | // else if(user!=null){ |
| | | // chain.doFilter(req, resp); |
| | | // }else{ |
| | | // PrintWriter out=resp.getWriter(); |
| | | // out.print("<script charset='UTF-8'>window.location.href='index.html'</script>"); |
| | | // } |
| | | // } |
| | | // |
| | | // public void init(FilterConfig config) throws ServletException { |
| | | // exclusions =config.getInitParameter("exclusions"); |
| | | // } |
| | | // |
| | | //} |