码迷,mamicode.com
首页 > 其他好文 > 详细

CAS实战のclient自定义过滤器

时间:2015-06-18 11:15:20      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:

  我们在配置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的条件中即可。

CAS实战のclient自定义过滤器

标签:

原文地址:http://www.cnblogs.com/tomcatx/p/4585062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!