⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 permissioncontroler.java

📁 web版的进销存系统
💻 JAVA
字号:
package jxc.util;

import java.io.IOException; 

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.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 


public class PermissionControler extends HttpServlet implements Filter{

	private FilterConfig filterConfig;
	
	private String userJs;
	
	public String getUserJs() {
		return userJs;
	}
	public void setUserJs(String userJs) {
		this.userJs = userJs;
	} 		

	private static final long serialVersionUID = -4275105240038370264L; 

	//初始化
	public void init(FilterConfig arg0) throws ServletException { 

	} 

	public void doFilter(ServletRequest request, ServletResponse response, 

			FilterChain filterChain) { 

		HttpServletRequest servletRequest = (HttpServletRequest) request; 
		HttpServletResponse servletResponse = (HttpServletResponse) response; 
		HttpSession session = servletRequest.getSession(); 

		// 获取当前页面文件名 
		String url = servletRequest.getRequestURI(); 
		url = url.substring(url.lastIndexOf("/") + 1, url.length());//最后一个"/"的长度 + 1,文件名的长度
//		System.out.println(url);
		
		try { 
			// 排除后台不作权限控制的页面名 
			String exclude= "err.jsp,err1.jsp,top_1.htm"; 

			if(exclude.indexOf(url)==-1){ 
				// 获取网站访问根目录 
				String accessPath = servletRequest.getContextPath(); 

				// 用当前页面文件名与用户权限字符比较 
//				User adminuser = (User) session.getAttribute("js");
				userJs=String.valueOf(session.getAttribute("pms"));
				
				if (userJs == null) { 
					servletResponse.sendRedirect(accessPath + "/index.jsp"); 
				}else if(userJs.indexOf(url)==-1){ 
					servletResponse.sendRedirect(accessPath + "/jserror.jsp"); 
				} 
			} 
		} catch (Exception sx) { 
			sx.printStackTrace(); 
		} 

		try { 
			filterChain.doFilter(request, response); 
		} catch (ServletException sx) { 
			filterConfig.getServletContext().log(sx.getMessage()); 
		} catch (IOException iox) { 
			filterConfig.getServletContext().log(iox.getMessage()); 
		} 
	} 

	//销毁
	public void destroy() { 

	}

} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -