最近在学习filter,看完理论知识之后,就特地在实际工作中的系统中去验证。

SSP系统实例如下:

1.在web.xml中寻找 filter的配置信息

  如下:

<filter>
  <filter-name>passoFilter</filter-name>
  <filter-class>com.pingan.passo.wls.client.filter.SSOClientFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>passoFilter</filter-name>
  <url-pattern>/login</url-pattern>
 </filter-mapping>
 <filter>
  <filter-name>CookieFilter</filter-name>
  <filter-class>com.paic.phssp.common.filter.CookieFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>CookieFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <filter> 
     <filter-name>SecurityAclFilter</filter-name> 
     <filter-class>com.paic.phssp.common.filter.SecurityAclFilter</filter-class> 
 </filter>
 <filter-mapping>
  <filter-name>SecurityAclFilter</filter-name>
  <url-pattern>*.do</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>SecurityAclFilter</filter-name>
  <url-pattern>*.screen</url-pattern>
 </filter-mapping>
 <filter> 
     <filter-name>AppScanFilter</filter-name> 
     <filter-class>com.paic.phssp.common.filter.AppScanFilter</filter-class>
     <init-param>
            <param-name>excludedPages</param-name>
            <param-value>/phssp/document.create.check.prop.do,/phssp/document.create.content.do,/phssp/document.create.new.do,/phssp/document.create.update.do,/phssp/document.editPreView.do,/phssp/newDocument.detialPreView.do,/phssp/document.detialPreView.do,/phssp/document.downLoadPdf.do,/phssp/document.detialPreWordView.do,/appsvr/phssp/redis/test</param-value><!-- 匹配不做拦截的请求声明-->
        </init-param>
 </filter>
 <filter-mapping>
  <filter-name>AppScanFilter</filter-name>
  <url-pattern>*.do</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>AppScanFilter</filter-name>
  <url-pattern>*.screen</url-pattern>
 </filter-mapping>
 <filter>
     <filter-name>UMSecurityFilter</filter-name>
     <filter-class>
         com.pingan.security.client.filter.UMSecurityFilter
     </filter-class>
     <init-param>
         <param-name>SecurityPropertiesName</param-name>
         <param-value>um-security.properties</param-value>
     </init-param>
     <init-param>
         <description>不希望被拦截的页面, 默认不拦截js css 图片</description>
         <param-name>publicPages</param-name>
         <param-value>/login;/login.jsp;/ssologin.jsp;/logout.jsp;/ssp/privilege/ISendUserPrivilege.do;/appsvr/phssp/doc/generate.do;/appsvr/phssp/redis/test;/phssp/newDocument.detialPreView.do;/phssp/pdfsign.manage.getBasemessage.do;/phssp/pdfsign.manage.getBasemessage.do</param-value>
     </init-param>
     <init-param>
         <param-name>UserRoleService</param-name>
         <param-value>
             com.pingan.security.client.policy.acl.service.UM2UserRoleService
         </param-value>
     </init-param>
 </filter>
 <filter-mapping>
     <filter-name>UMSecurityFilter</filter-name>
     <url-pattern>*</url-pattern>
     <dispatcher>REQUEST</dispatcher>
     <dispatcher>FORWARD</dispatcher>
 </filter-mapping> 
 
 <filter>
  <filter-name>Set Character Encoding</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>Set Character Encoding</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 
     <filter>
  <filter-name>RefererFilter</filter-name>
  <filter-class>com.paic.phssp.common.filter.RefererFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>RefererFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

其中有四个是在代码中有实现的,其他 都是引用第三方jar包的。

下面我们就来看看这四个实现的filter

AppScanFilter.java

filter实例的更多相关文章

  1. js array.filter实例(数组去重)

    语法: 循环对数组中的元素调用callback函数, 如果返回true 保留,如果返回false 过滤掉,  返回新数组,老数组不变 var new_array = source_array.filt ...

  2. Shiro安全框架入门篇(登录验证实例详解与源码)

    转载自http://blog.csdn.net/u013142781 一.Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权.Shiro在JavaSE和J ...

  3. Servlet Filter

    Filter : Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应. 主要用于对HttpServletRequest 进行预处理,也可以对Http ...

  4. Servlet的过滤器Filter

    Servlet 编写过滤器 Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Serv ...

  5. java Servlet中的过滤器Filter

    web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...

  6. [原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  7. 过滤器 Filter

    Filter(过滤器)简介 Filter 的基本功能是对发送到 Servlet 的请求进行拦截, 并对响应也进行拦截. Filter 程序是一个实现了 Filter 接口的 Java 类,与 Serv ...

  8. Servlet、Filter 生命周期

    Servlet作为JavaEE必须掌握的内容,Struts2通过使用Filter的功能实现了一个MVC的框架.因此掌握这Servlet以及Filter的生命周期显得非常重要. 1. Servlet的生 ...

  9. 过滤器(Filter)

    day21 过滤器概述 1 什么是过滤器 过滤器JavaWeb三大组件之一,它与Servlet很相似!不它过滤器是用来拦截请求的,而不是处理请求的. 当用户请求某个Servlet时,会先执行部署在这个 ...

随机推荐

  1. Nuxt.js实践篇

    nuxt.js 追求完美,相信大家都是这样的.因为前后端分离的弊端性,在项目构建时,浏览器并不会捕捉到项目的内容,所以开始,笔者决定引入nuxt.js文件来配合vue完成Server Slider R ...

  2. hive中实现类似MySQL中的group_concat功能

    hive> desc t; OK id      string str     string Time taken: 0.249 seconds hive> select * from t ...

  3. python pandas Timestamp 转为 datetime 类型

    In [11]: ts = pd.Timestamp('2014-01-23 00:00:00', tz=None) In [12]: ts.to_pydatetime() Out[12]: date ...

  4. stenciljs 学习三 组件生命周期

    stenciljs 组件包含好多生命周期方法, will did load update unload 实现生命周期的方法比价简单类似 componentWillLoad ....,使用typescr ...

  5. timescaledb 集成prometheus

    timescaledb 1.0 已经发布了,同时支持prometheus 使用doker-compose 运行 环境准备 docker-compose 文件 version: '2.1' servic ...

  6. java打jar包的几种方式详解

    经常会头疼于一个jar包是如何制作的,包括maven的打包方式,springboot的打jar包的原理,jar包稍稍有错误就会完全无法运行.在网上折腾了很久终于有些思路和步骤,在这里做个笔记 本文目录 ...

  7. 写了一篇关于 FastAdmin 插件路由的分析文章

    写了一篇关于 FastAdmin 插件路由的分析文章 插件路由演示 ThinkPHP 的路由就像是整个应用的调度室,让你的应用 url 更友好,而且让应用更安全,不会让真实的地址暴露出去. 了解过 L ...

  8. Java8 lam。。。表达式

    双冒号:相当于用了别人实现的方法,格式,类名::方法 Math::max等效于(a, b)->Math.max(a, b)String::startWith等效于(s1, s2)->s1. ...

  9. java 环境变量与安装目录

    JDK安装完成后有如下文件夹 bin:存放JDK的各种工具命令,如javac.java等命令. jre:运行java程序所必须的JRE环境 lib:JDK工具命令的实际执行程序,如tools.jar中 ...

  10. jQuery与DOM对象的转换

    一.jQuery与DOM对象的转换. 1.jQuery对象转换为DOM对象:$cr[0] 或 $cr.get(0) $cr为jQuery对象 2.DOM对象转换为jQuery对象:$(cr) cr为D ...