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

    }
    }
  • 相关阅读:
    SAP GUI中按F1后显示的帮助窗口为空白
    SAP事务代码之IMG设置
    RFC 同步异步调用实例
    SAP R/3 与其他异构系统集成时是否需要应用 SAP XI
    SAP 用户管理事务代码
    SAP 模块中文解释
    SAP Table 类型
    SAP System Tables
    开发SAP的语言
    IDOC 创建,增强,管理,配置
  • 原文地址:https://www.cnblogs.com/chexiedaping/p/12204709.html
Copyright © 2011-2022 走看看