如果您发现内容含有错误或公司内部信息,请予以指出,本人不胜感激。。。。
import javax.servlet.Filter; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.FilterChain; import java.io.IOException; import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServletResponse; public class PermissiondoFilter implements Filter { private FilterConfig filterConfig; private FilterChain chain; private HttpServletRequest request; private HttpServletResponse response; public void destroy() { this.filterConfig = null; } public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; } public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) { this.chain = chain; this.request = (HttpServletRequest) servletRequest; this.response = ((HttpServletResponse) servletResponse); String url = request.getRequestURI(); System.out.println("访问的完整路径-->" + url); try { HttpSession session = request.getSession(); // 获取网站访问根目录 String accessPath = request.getContextPath(); System.out.println("-访问的网站根目录-" + accessPath); // 截获根目录以后的路径即'/项目名'以后的路径; url = url.substring(accessPath.length() + 1, url.length()); System.out.println("-访问-" + url); LoginUser loginUser = (LoginUser) session.getAttribute("loginUser"); System.out.println("url-->" + url); if (noVerifyUrl(url, request)) { chain.doFilter(request, response); } else if (loginUser == null) { response.sendRedirect(accessPath + "/login.jsp"); } else { System.out.println(loginUser.getUserName() + "-访问-" + url); verifyUrl(url, loginUser); } } catch (Exception sx) { sx.printStackTrace(); } }