最近在学习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. shell 脚本实战笔记(2)--环境变量PATH的恩怨情仇

    在linux环境下, 相信大家对环境变量PATH, 多多少少有所接触, 这边讲讲PATH的在linux的前世因缘. 先讲讲一个列子 假如我们在为一个新的应用配置其PATH路径中时,  不小心忽略了原先 ...

  2. MATLAB安装教程

    1.资源下载 下载官方安装包R2015b_win64.(文件太大,没上传资源) 下载破解文件包,解压其中的相应压缩包(一般是win64那个压缩包) 下载地址:链接:http://pan.baidu.c ...

  3. requests.exceptions.MissingSchema

    requests.exceptions.MissingSchema: Invalid URL '//p9.pstatp.com/list/pgc-image/1538380201743a84869e0 ...

  4. Future接口和FutureTask类【FutureTask实现了Runnable和Future接口】

    Future API: public interface Future<V> { /** * Attempts to cancel execution of this task. This ...

  5. dubbo监控工具

    现在企业使用dubbo技术太普遍,所以dubbo的监控工具也应运而生,而且还很稳定,他就是一个web项目, 部署起来非常简单,下载个项目war包(dubbo-admin-2.5.4-SNAPSHOT. ...

  6. CTF密码学之凯撒加密

    在加密的各种算法中,凯撒加密是最简单的也是最常见的一种加密方法,它的中心思想是替换,ROT加密其实就是凯斯加密的变种. 即明文的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文 ...

  7. spfa【模板】

    #include<iostream> #include<cstdio> #include<cstring> #include<queue> using ...

  8. 哈尔滨理工大学第七届程序设计竞赛初赛(BFS多队列顺序)

    哈尔滨理工大学第七届程序设计竞赛初赛https://www.nowcoder.com/acm/contest/28#question D题wa了半天....(真真正正的半天) 其实D题本来就是一个简单 ...

  9. LG4197 Peaks

    题意 题目描述 在Bytemountains有N座山峰,每座山峰有他的高度hih_ihi​.有些山峰之间有双向道路相连,共MMM条路径,每条路径有一个困难值,这个值越大表示越难走,现在有QQQ组询问, ...

  10. C#:消息队列应用程序

    Carl NolanMicrosoft Corporation 摘要:本文概述一种用于处理若干消息队列的 Windows 服务解决方案,重点介绍 .NET 框架和 C# 应用程序. 下载 CSharp ...