`
grantbb
  • 浏览: 272382 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DelegatingFilterProxy的原理及使用

阅读更多

DelegatingFilterProxy就是一个对于servlet filter的代理,用这个类的好处主要是通过Spring容器来管理servlet filter的生命周期,还有就是如果filter中需要一些Spring容器的实例,可以通过spring直接注入,另外读取一些配置文件这些便利的操作都可以通过Spring来配置实现。

 

DelegatingFilterProxy的使用方法,

 

首先在web.xml中配置:

<filter>
    <filter-name>myFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>myFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

 

然后在Spring的配置文件中,配置具体的Filter类的实例。

<bean name="myFilter" class="com.*.MyFilter"></bean>

 

Spring中配置的beanname要和web.xml中的<filter-name>一样

 

或者在DelegatingFilterProxy的filter配置中配置初始参数:targetBeanName,对应到Spring配置中的beanname

 

如果要保留Filter原有的initdestroy方法的调用,还需要配置初始化参数targetFilterLifecycletrue,该参数默认为false

 


参考文章:

springSecurity源码分析——DelegatingFilterProxy类的作用

1
0
分享到:
评论

相关推荐

    DelegatingFilterProxy示例

    在Spring框架中,`DelegatingFilterProxy`是一个非常有用的工具,它允许我们将Spring的Bean作为Servlet过滤器(Filter)来使用。这个组件是Spring MVC的一部分,主要用于将Spring的AOP(面向切面编程)能力引入到Web...

    Apache Shrio安全框架实现原理及实例详解

    Shiro可以通过Spring的DelegatingFilterProxy与Spring应用整合,这使得Shiro可以作为Spring的过滤器运行。在`pom.xml`中添加Shiro-Spring依赖,在`web.xml`中配置Shiro Filter,并在`applicationContext-shiro.xml`...

    spring security3配置和使用实例+教程

    这些过滤器按顺序执行,每个都有特定的职责,如`DelegatingFilterProxy`、`FilterSecurityInterceptor`等。 接下来,我们来看看实例部分。在提供的资源中,`security_3.sql`包含了创建数据库表和初始化数据的SQL...

    SpringSecurity3.1实际摸索总结

    SpringSecurity 是一个强大的安全框架...理解其过滤器链的工作原理,以及如何在项目中正确配置和使用,是实现安全应用的关键。同时,随着版本的升级,了解版本间的差异也很重要,以便于更好地适应新的特性和最佳实践。

    详解spring security filter的工作原理

    今天,我们将详细介绍 Spring Security Filter 的工作原理,了解它是如何工作的,以及如何配置和使用它。 Filter 的配置 在 Spring Security 中,Filter 是通过 XML 文件来配置的。下面是一个简单的示例: ```xml...

    使用acegi控制用户权限实例

    在web.xml文件中,我们需要配置Acegi Security提供的过滤器,如`DelegatingFilterProxy`,它会代理到Spring的Bean,即我们的`FilterSecurityInterceptor`。 在提供的“acegi-lib1”压缩包中,可能包含了Acegi ...

    Spring Security3 配置使用

    6. **源码分析**:对于深入理解Spring Security的工作原理,阅读源码是十分有帮助的。可以研究`AuthenticationManager`、`FilterSecurityInterceptor`、`AbstractAuthenticationProcessingFilter`等关键类的实现。 ...

    过滤器 spring4.1+jdk1.8版本

    首先,我们需要了解过滤器的基本工作原理。过滤器是实现了 javax.servlet.Filter 接口的类,通过在web.xml中配置,可以定义多个过滤链,每个过滤器根据其配置的顺序执行。当一个HTTP请求到来时,这些过滤器会按照...

    Spring_Security_权限管理手册_chm中文版

    - Spring Security的核心组件,如FilterSecurityInterceptor和DelegatingFilterProxy,它们如何协同工作保护应用程序的资源。 - 自定义过滤器的实现,扩展Spring Security的功能。 5. **URL保护**: - 如何通过...

    Java中过滤器的使用

    5. **Spring MVC中的Filter**:在Spring MVC框架中,虽然Controller承担了大部分业务逻辑,但仍然可以使用Filter,甚至可以通过Spring的DelegatingFilterProxy来代理Spring Bean,方便地管理和使用Filter。...

    spring security

    Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于保护基于Java的应用程序。...通过阅读提供的资源,你可以深入理解Spring Security的工作原理,并在实际项目中运用它来构建安全的Web应用程序。

    spring-security书籍翻译

    3. **过滤器链**:Spring Security的核心在于其过滤器链,包括`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextPersistenceFilter`、`UsernamePasswordAuthenticationFilter`、`...

    spring-security-3.0.5.RELEASE

    在3.0.5版本中,主要包括`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextPersistenceFilter`、`LogoutFilter`、`UsernamePasswordAuthenticationFilter`等,它们分别负责委托给Spring ...

    单点登录SpringSsession

    1. **集群Session支持**:Spring Session默认使用外置的Redis作为Session数据的存储介质,这样可以确保即使在服务重启或失败的情况下,用户的会话状态仍然保持不变。 2. **可插拔的存储层**:虽然默认使用Redis,但...

    spring security 3 的学习的帮助文档

    学习者应了解`DelegatingFilterProxy`、`ChannelProcessingFilter`、`RememberMeAuthenticationFilter`等关键过滤器的作用,以及如何定制自己的过滤器。 4. **角色与权限(Roles & Permissions)**:Spring ...

    springsecurity3 入门案例

    - 用户发起请求,请求经过一系列SpringSecurity的过滤器,如`DelegatingFilterProxy`、`FilterSecurityInterceptor`等。 - `FilterSecurityInterceptor`检查请求是否匹配任何保护规则,如果不匹配,则放行;匹配则...

    spring security 3

    这包括如`DelegatingFilterProxy`,它将请求委托给Spring Security的`FilterSecurityInterceptor`。 2. **AuthenticationManager**:这是Spring Security的核心组件,负责身份验证过程。它接收认证请求,并尝试通过...

    通过过滤器管理用户权限(2)

    - 例如,`DelegatingFilterProxy` 是Spring提供的一个Filter,用于代理Spring Bean,通常用于配置Spring Security的`FilterSecurityInterceptor`。 3. **实现用户权限过滤器** - 创建自定义Filter:你需要创建一...

    springsecurity

    - `DelegatingFilterProxy`: 用于代理Spring Security的Filter对象。 - `SecurityContextPersistenceFilter`: 保存和恢复用户的Security Context(安全上下文)。 - `UsernamePasswordAuthenticationFilter`: ...

Global site tag (gtag.js) - Google Analytics