zoukankan      html  css  js  c++  java
  • 登录拦截器

    @WebFilter(urlPatterns = "/*", filterName = "loginFilter")
    public class LoginFilter implements Filter {

    private static final Logger logger = LoggerFactory.getLogger(LoginFilter.class);
    private static final String[] NOT_CHECH_URL = {"/login","/json",".js",".css",".ico",".jpg",".png","/scriptJob/executedScheduleTask","/createReport/ReportSchedule"};
    // private static final String[] NOT_CHECH_URL ={""};
    /**
    * 是否只允许Post
    */
    private boolean postOnly = true;

    /**
    *
    * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)

    /**
    *
    * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest,
    * javax.servlet.ServletResponse, javax.servlet.FilterChain)
    */
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
    throws IOException,ServletException {
    // chain.doFilter(request,response);
    /*if (postOnly && !"POST".equals(((HttpServletRequest)request).getMethod())) {
    throw new IOException ("不支持以Post以外的方式登录");
    }*/
    ((HttpServletResponse)response).setHeader("SET-COOKIE", "JSESSIONID=" + ((HttpServletRequest)request).getSession().getId() + ";Secure;HttpOnly");

    String uri = ((HttpServletRequest)request).getRequestURI();
    if(notCheckUri(uri)){
    chain.doFilter(request, response);
    return ;
    }
    HttpSession session = ((HttpServletRequest)request).getSession();
    String contextPath = ((HttpServletRequest) request).getContextPath();
    if(session == null || session.getAttribute("username") == null) {
    ((HttpServletResponse)response).sendRedirect(contextPath+"/autocreatecase/login");
    return;
    }
    else {
    //合法的请求,放行
    chain.doFilter(request, response);
    return;
    }
    }

    private boolean notCheckUri(String uri) {
    boolean flag = false;
    for(String str : NOT_CHECH_URL){
    flag = uri.contains(str);
    if (flag){
    return true;
    }

    }
    return flag ;
    }


    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    // TODO Auto-generated method stub

    }


    @Override
    public void destroy() {
    // TODO Auto-generated method stub

    }
    }
  • 相关阅读:
    20170612测试
    vijos1453曼哈顿距离
    vijos1153 猫狗大战
    vijos1037搭建双塔
    dijkstra+priority_queue+vector
    BZOJ1507: [NOI2003]Editor
    dinic模板
    旅行-树形DP
    51nod1799-二分答案
    51nod1791-合法括号子段
  • 原文地址:https://www.cnblogs.com/chexiedaping/p/12204709.html
Copyright © 2011-2022 走看看