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

    }
    }
  • 相关阅读:
    2017-4-6校内训练
    [BZOJ]1023: [SHOI2008]cactus仙人掌图
    [BZOJ]1086: [SCOI2005]王室联邦
    [BZOJ]1055: [HAOI2008]玩具取名
    [BZOJ]3527: [Zjoi2014]力
    [BZOJ]2820: YY的GCD
    【BZOJ3233】【tyvj1729】文艺平衡树
    【数据结构】【平衡树】无旋转treap
    【BZOJ2733】【HNOI2012】永无乡
    【BZOJ3224】【tyvj1728】普通平衡树
  • 原文地址:https://www.cnblogs.com/chexiedaping/p/12204709.html
Copyright © 2011-2022 走看看