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

📄 authenticationfilter.java

📁 jsf在线考试系统的实例
💻 JAVA
字号:
package com.jlobo.common;

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


import com.jlobo.web.views.UserBean;

public class AuthenticationFilter implements Filter {

	  public void init(FilterConfig filterConfig) throws ServletException {
	  }

	  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
	    HttpServletRequest request = (HttpServletRequest) servletRequest;
	    
	    String path = request.getContextPath();
//	    System.out.println("客户端访问:" + path);
	    
	    HttpSession session = request.getSession();
	    UserBean userBean = null;
	    
	    int intFlag =0;
	    String strUrl = request.getRequestURI().toLowerCase();
	    int intPos2 = strUrl.indexOf("login.jsf");
	    if(intPos2<0)
	    	intPos2 = strUrl.indexOf("login.jsp");
	    if(intPos2<0)
	    	intPos2 = strUrl.indexOf("images/");
	    if(intPos2<0)
	    	intPos2 = strUrl.indexOf("css/");
	    if(intPos2<0)
	    	intPos2 = strUrl.indexOf("js/");
	    if(intPos2<0)
	    	intPos2 = strUrl.indexOf("inc/");	 
//	    if(intPos2<0)
//	    	intPos2 = strUrl.indexOf("/system");	
//	    if(intPos2<0)
//	    	intPos2 = strUrl.indexOf("/business");

	    
	    if (session!=null ) {
	    	
	    	userBean = (UserBean) session.getAttribute("userBean");
			if (userBean != null && userBean.getUser() != null && userBean.getUser().getName()!=null) {
				intFlag = 1;
				String actorId = userBean.getUser().getName();
				//System.out.println("认证用户的ID" + actorId);
				//JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();
				//if (jbpmContext != null)
				//	jbpmContext.setActorId(actorId);
			}
			
	    }
	    if(intFlag==0)
	    {
	    	if(intPos2<0 ){
	    		HttpServletResponse response = (HttpServletResponse) servletResponse;
	    		response.sendRedirect(path+"/login.jsf");
	    	}
	    	else
	    	{
	    		filterChain.doFilter(servletRequest, servletResponse);
	    	}
	    	
	    }else
	    	filterChain.doFilter(servletRequest, servletResponse);
	    
	  }
	  public void destroy() {
	  }
	}

⌨️ 快捷键说明

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