authfilter.java

来自「Hibernate开发及整合应用大全 蔡雪焘编著 本书用典型的示例剖析Hiber」· Java 代码 · 共 55 行

JAVA
55
字号
package ch14_5_1;

import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;


public class AuthFilter implements Filter
{
	String LOGIN_PAGE="/14.5.1/login.jsp";
	protected FilterConfig filterConfig;
	
	 /**
     *过滤器中最重要的处理方法
     */
	public void doFilter(final ServletRequest req,final ServletResponse res,FilterChain chain)throws IOException,ServletException
	{
		 HttpServletRequest hreq = (HttpServletRequest)req;
         HttpServletResponse hres = (HttpServletResponse)res;
         HttpSession session = hreq.getSession();
         String isLogin="";
         try
         {
         	isLogin=(String)session.getAttribute("isLogin");//从session中取得是否登录的标识对象
         
			 if(isLogin!=null&&isLogin.equals("true"))      //如果有登录标识为"true"
			 {
			 	System.out.println("在AuthFilter中验证通过");//在控制台打印一行验证成功语句
			 	chain.doFilter(req,res);                     //验证成功,交给下一步继续处理,
			 }                                               //可能是另一个过滤器,也可能是jsp页面
			 else
			 {
			 	hres.sendRedirect(LOGIN_PAGE);	 		 	//验证不成功,让用户登录
			 	System.out.println("被AuthFilter拦截一个未认证的请求");//在控制台打印一验证失败行语句
			 }
		 }catch(Exception e)
         {         
         	e.printStackTrace();
         }
	}
	 /**
     *销毁过滤器
     */
	public void destroy()
	{
		this.filterConfig=null;
	}
	 /**
     *初始化过滤器,和一般的Servlet一样,它也可以获得初始参数。
     */
    public void init(FilterConfig config) throws ServletException {
        this.filterConfig = config;       
    }
}

⌨️ 快捷键说明

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