CAS实战のclient自定义过滤器

  咱们在配置cas client确定写过以下代码:app

 <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对应的类路径改成自定义的过滤器类。jsp

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

 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的条件中便可。spa

相关文章
相关标签/搜索