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

  • 相关阅读:
    node读写文件
    idea下建立bootstrap项目
    webpack
    Bootstrap-javascript插件
    Bootstrap-other内置组件
    Centos 修改当前路径显示为全路径
    深入理解java虚拟机(4)类加载的过程
    深入理解java虚拟机(3)垃圾收集器与内存分配策略
    深入理解java虚拟机(2)
    Scala学习笔记(3)
  • 原文地址:https://www.cnblogs.com/tomcatx/p/4585062.html
Copyright © 2011-2022 走看看