zoukankan      html  css  js  c++  java
  • CAS实战のclient自定义过滤器

      我们在配置cas client肯定写过如下代码:

     <filter>  
            <filter-name>CASFilter</filter-name>  
            <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
            <filter-class>com.founder.ec.sso.filter.CASFilter</filter-class>
            <init-param>  
                <param-name>casServerLoginUrl</param-name>  
                <param-value>http://localhost:8082/cas/login</param-value>
            </init-param>  
            <init-param>  
                <param-name>serverName</param-name>  
                <param-value>http://localhost:8008/</param-value>
            </init-param>  
        </filter>  
        <filter-mapping>  
            <filter-name>CASFilter</filter-name>  
            <url-pattern>/*</url-pattern>  
        </filter-mapping>

      在自定义过滤器的时候,只需要将默认的CASFilter对应的类路径改为自定义的过滤器类。

      CASFilter必须继承AbstractCasFilter,覆盖里面除isRequestUrlExcluded外的所有方法,另重写isRequestUrlExcluded方法。

     private boolean isRequestUrlExcluded(final HttpServletRequest request,final HttpServletResponse response) {
            boolean flag = false;
            String pathInfo = "";
            String servletPath = request.getServletPath();
            if (request.getPathInfo()!=null) pathInfo = request.getPathInfo();
            if (
                    servletPath.equals("/testSend.jsp") ||
                    pathInfo.equals("/ds/getDataXMLInStr") ||
                    
               ){
                flag = true;
            }else if(servletPath.indexOf("login.jsp")>-1){
                flag = false;
          }
            return flag;
        }

      将需要放行的请求置为flag为true的条件中即可。

  • 相关阅读:
    BZOJ3732: Network(Kruskal重构树)
    AtCoder Beginner Contest 103
    2018.7.21NOIP模拟赛?解题报告
    PE刷题记
    杜教筛入门
    浅谈积性函数的线性筛法
    BZOJ4916: 神犇和蒟蒻(杜教筛)
    BZOJ2818: Gcd(莫比乌斯反演)
    LD1-B(最短路径-SPFA)
    UVa 10837 A Research Problem 欧拉函数
  • 原文地址:https://www.cnblogs.com/tomcatx/p/4585062.html
Copyright © 2011-2022 走看看