diff --git a/src/main/java/com/huaheng/framework/config/TestFilter.java b/src/main/java/com/huaheng/framework/config/TestFilter.java index 2093a66..c4530e0 100644 --- a/src/main/java/com/huaheng/framework/config/TestFilter.java +++ b/src/main/java/com/huaheng/framework/config/TestFilter.java @@ -1,41 +1,72 @@ -package com.huaheng.framework.config; - -import com.huaheng.framework.aspectj.lang.constant.DataSourceName; -import com.huaheng.framework.datasource.DynamicDataSourceContextHolder; - -import javax.servlet.*; -import javax.servlet.FilterConfig; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; -import java.io.IOException; - -public class TestFilter implements Filter { - @Override - public void init(FilterConfig filterConfig) throws ServletException { - - } - - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - HttpServletRequest req=(HttpServletRequest)request; - System.out.println("自定义过滤器filter触发,拦截url:"+req.getRequestURI()); - try { - ServletContext servletContext = req.getServletContext(); - String warehouseCode = request.getParameter("warehouseCode"); - if(warehouseCode!=null){ - servletContext.setAttribute("warehouseCode",warehouseCode); - } - if(servletContext.getAttribute("warehouseCode")!=null&&servletContext.getAttribute("warehouseCode").equals("CS0001")) { - DynamicDataSourceContextHolder.setDB(DataSourceName.SLAVE); - } - chain.doFilter(request, response); - } finally { - DynamicDataSourceContextHolder.clearDB(); - } - } - - @Override - public void destroy() { - - } -} +//package com.huaheng.framework.config; +// +//import com.huaheng.common.utils.StringUtils; +//import com.huaheng.common.utils.security.ShiroUtils; +//import com.huaheng.framework.aspectj.lang.constant.DataSourceName; +//import com.huaheng.framework.datasource.DynamicDataSourceContextHolder; +//import com.huaheng.pc.system.user.domain.User; +//import org.apache.shiro.SecurityUtils; +//import org.apache.shiro.subject.Subject; +//import org.springframework.core.Ordered; +//import org.springframework.core.annotation.Order; +// +//import javax.servlet.*; +//import javax.servlet.FilterConfig; +//import javax.servlet.annotation.WebFilter; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +// +////@WebFilter(urlPatterns = "/*",filterName = "TestFilter") +////@Order(Ordered.LOWEST_PRECEDENCE) +//public class TestFilter implements Filter { +// private String[] excludedUris; +// @Override +// public void init(FilterConfig filterConfig) throws ServletException { +// +// excludedUris=new String[]{".js",".gif",".jpg",".png",".css",".ico",".css","/login","/getWarehouseByUserCode","/index","/main", +// "/getShipmentsLast7Days","/getLocationProp","/getInventoryStatus","/getCommonData","/getInventoryProp"}; +//// String param = filterConfig.getInitParameter("excludedUris"); +//// if(StringUtils.isNotEmpty(param)){ +//// this.excludedUris=param.split(","); +//// } +// } +// +// @Override +// public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { +// HttpServletRequest req=(HttpServletRequest)request; +// System.out.println("自定义过滤器filter触发,拦截url:"+req.getRequestURI()+"外部"); +// try { +// +// chain.doFilter(request, response); +// ServletContext servletContext = req.getServletContext(); +// String warehouseCode = request.getParameter("warehouseCode"); +// if(warehouseCode!=null){ +// servletContext.setAttribute("warehouseCode",warehouseCode); +// } +// if(servletContext.getAttribute("warehouseCode")!=null&&servletContext.getAttribute("warehouseCode").equals("CS0001")) { +// // DynamicDataSourceContextHolder.setDB(DataSourceName.SLAVE); +// } +// boolean flag=true; +// for(String s:excludedUris){ +// if(req.getRequestURI().endsWith(s)){ +// flag=false; +// } +// } +// if(req.getRequestURI().startsWith("/wms/imserver")){ +// flag=false; +// } +// if(flag){ +// System.out.println("自定义过滤器filter触发,拦截url:"+req.getRequestURI()+"内部"); +// SecurityUtils.getSubject(); +// } +// } finally { +// DynamicDataSourceContextHolder.clearDB(); +// } +// } +// +// @Override +// public void destroy() { +// +// } +//}