URL权限过滤(二)
URL权限过滤(2)
如果您发现内容含有错误或公司内部信息,请予以指出,本人不胜感激。。。。
如果您发现内容含有错误或公司内部信息,请予以指出,本人不胜感激。。。。
/** * @param url * 当前请求的url * @param loginUser * 当前登录用户 * @throws IOException * @throws ServletException */ private void verifyUrl(String url, LoginUser loginUser) throws IOException, ServletException { // 获取user拥有的所有资源串 String sturl = loginUser.getUrl(); System.out.println("可以访问的地址--->" + sturl); String url1 = null; String url2 = null; String url3 = null; url1 = url.substring(0, url.indexOf("/")); if (sturl.indexOf(url) >= 0) { System.out.println("有权访问!"); chain.doFilter(request, response); return; } url1 = url.substring(0, url.indexOf("/") + 1); if (sturl.indexOf(url1 + "*") >= 0) { System.out.println("有权访问!"); chain.doFilter(request, response); return; } url2 = url.substring(url1.length(), url.length()); if (null != url2) { while (url2.contains("/")) { url2 = url.substring(url1.length(), url.length()); url1 = url1 + url2.substring(0, url2.indexOf("/") + 1); url3 = url1 + "*"; System.out.println("可以访问的地址url3--->" + url3); if (sturl.indexOf(url3) >= 0) { System.out.println("有权访问!"); chain.doFilter(request, response); return; } } } System.out.println("无权限!"); response.setContentType("text/html;charset=UTF-8"); response.getWriter().println("<div>Sorry,您没有权限访问该资源!</div>"); } /** * 是否需要判断权限,如客户端浏览、登录页面则不需要判断权限 */ protected boolean noVerifyUrl(String url, HttpServletRequest request) { // login.action String exclude = "login.jsp,loginAction.action"; if (exclude.indexOf(url) >= 0) { return true; } return false; } }