userfilter.java

来自「:一个用JavaScript开发的用户管理系统。」· Java 代码 · 共 58 行

JAVA
58
字号
package test;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.*;
import java.util.*;

public class UserFilter  implements Filter
 {
   private FilterConfig filterConfig = null;
   private String adminIP="";
   private String Log_Page="../login.jsp";
   public void init(FilterConfig filterConfig) throws ServletException
    {
        this.filterConfig = filterConfig;
        //获取初始化参数      
        this.adminIP = filterConfig.getInitParameter("adminIP");
    }
    public void doFilter(ServletRequest request,
                         ServletResponse response,
                         FilterChain chain)
        throws IOException, ServletException
    {
         HttpServletRequest req=(HttpServletRequest)request;
         HttpServletResponse res=(HttpServletResponse)response;
         HttpSession session=req.getSession();
         String ip=req.getRemoteAddr();
         String type="";
         boolean flag1=true;
         boolean flag2=true;
         if(session.getAttribute("type")!=null)
           type=(String)session.getAttribute("type");
         if(!(type.equals("admin"))){  
           flag1=false;
         }
         if(!ip.equals(adminIP)){
           session.invalidate();  
           flag2=false;              
         }  
         if(!(flag1&&flag2)){
           res.sendRedirect(Log_Page);
         }
         chain.doFilter(request,response);
     }
    public void destroy()
    {
        this.adminIP = null;
        this.filterConfig = null;
    }
}

⌨️ 快捷键说明

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