package com.mandi.servlet; import java.io.IOException; import java.net.URLEncoder; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.springframework.context.ApplicationContext; import com.mandi.common.SessionMethod; import com.mandi.common.SpringContext; import com.mandi.system.persist.Login; /** * Function: TODO
* Date: 2016骞�3鏈�12鏃� 涓嬪崍5:00:29
* @author guolq */ //@WebFilter(filterName="permissionfilter",urlPatterns={"*.htm","*.jsf"})// public class PermissionFilter implements Filter{ private Logger log=Logger.getLogger(PermissionFilter.class); private ApplicationContext ac; @Override public void destroy() { } @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { if(ac==null) ac=SpringContext.getAppContext(); HttpServletRequest r=(HttpServletRequest)arg0; HttpServletResponse re=(HttpServletResponse)arg1; HttpSession s=r.getSession(); String url=r.getRequestURI(); String[] noPermiss={"/basic/dayinzcd.jsf","/task/printbycard.htm","/api/scxt/batchdelZcInfo.htm","/api/scxt/batchsubZcInfo.htm","/system/login.htm","/api/scxt/subZcInfo.htm","/api/scxt/delZcInfo.htm","/api/scxt/getClInfo.htm","/api/xscccheck.htm","/api/xsincheck.htm","/login.jsf","/api/xscccheck.htm","/api/xsincheck.htm"}; boolean boo=false; for (String Str : noPermiss) { if(Str.equals(url)){ boo=true; break; } } if(boo){ arg2.doFilter(arg0, arg1); return; }else{ Login lg=SessionMethod.getlogin(r.getSession()); if(lg==null){ String redirectURL=URLEncoder.encode(url, "UTF-8"); re.sendRedirect(r.getServletContext().getContextPath()+"/login.jsf"); return; }else{ arg2.doFilter(arg0, arg1); return; } } // arg2.doFilter(arg0, arg1); // return ; // IPermcheckService pcheckservice=ac.getBean(PermcheckService.class); // if(!pcheckservice.rescheck_eq(url)) // { // arg2.doFilter(arg0, arg1); // return; // }else{ //// LoginSide resSide=rsService.checkSide(url); //// LoginSide lside=SessionMethod.getloginside(s); // Login lg=SessionMethod.getlogin(r.getSession()); // if(lg==null) // { //// String redirectURL=URLEncoder.encode(url, "UTF-8"); // re.sendRedirect(r.getServletContext().getContextPath()+"/login.jsf");//鍚庣鐧诲綍椤甸潰 // return; // }else // { // arg2.doFilter(arg0, arg1); // return; // } // } // if(id!=null && id!="") // { // String redirectURL=URLEncoder.encode(url, "UTF-8"); // if(resSide==LoginSide.front) // { // re.sendRedirect(r.getServletContext().getContextPath()+"/index/login.jsf?url="+redirectURL);//鍓嶇鐧诲綍椤甸潰 // }else{ // re.sendRedirect(r.getServletContext().getContextPath()+"/blogin.jsf");//鍚庣鐧诲綍椤甸潰 // } // }else{ // if(resSide!=lside) // { // re.sendRedirect(r.getServletContext().getContextPath()+"/nopermission.html");//娌℃湁鏉冮檺鐨勯敊璇〉闈� // }else{ // arg2.doFilter(arg0, arg1); // } // } // } // return ; } @Override public void init(FilterConfig arg0) throws ServletException { ac=SpringContext.getAppContext(); } }