`

Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy) .

 
阅读更多

来源:http://blog.csdn.net/geloin/article/details/7441937

 

  org.springframework.web.filter中有一个特殊的类——DelegatingFilterProxy,该类其实并不能说是一个过滤器,它的原型是FilterToBeanProxy,即将Filter作为spring的bean,由spring来管理。

        配置DelegatingFilterProxy的常用方法如下所示:

 

<filter>
		<filter-name>testFilter</filter-name>
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
		<init-param>
			<param-name>targetBeanName</param-name>
			<param-value>testBean</param-value>
		</init-param>
	</filter>        
        <filter-mapping>
		<filter-name>testFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

         含义是有一个过滤器,它指向一个bean,这个bean在spring中的名字为testBean,testBean也必需实现javax.servlet.Filter。

        其他可以通过web.xml传递的参数如下:

        (1) contextAttribute,使用委派Bean的范围,其值必须从org.springframework.context.ApplicationContext.WebApplicationContext中取得,默认值是session;

        (2) targetFilterLifecycle,是否调用Filter的init和destroy方法,默认为false。

        所以DelegationgFilterProxy的全项配置信息如下:

        <filter>
		<filter-name>testFilter</filter-name>
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
		<init-param>
			<param-name>targetBeanName</param-name>
			<param-value>testBean</param-value>
		</init-param>
                <init-param>
			<param-name>contextAttribute</param-name>
			<param-value>session</param-value>
		</init-param>
                <init-param>
			<param-name>targetFilterLifecycle</param-name>
			<param-value>false</param-value>
		</init-param>
	</filter>        
        <filter-mapping>
		<filter-name>testFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

分享到:
评论

相关推荐

    spring-web-2.5.jar

    org.springframework.web.filter.DelegatingFilterProxy.class org.springframework.web.filter.GenericFilterBean.class org.springframework.web.filter.Log4jNestedDiagnosticContextFilter.class org.spring...

    Spring MVC过滤器-登录过滤的代码实现

    在Spring MVC框架中,过滤器(Filter)是一个关键组件,用于在请求被处理之前或之后执行特定的操作。本文将深入探讨如何实现一个登录过滤器,该过滤器旨在拦截需要登录才能访问的页面,并确保用户已登录才能继续操作...

    spring-security-core-3.1.0.RC1.jar

    在3.1.0.RC1中,这些过滤器如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextPersistenceFilter`等,构建了一条完整的安全链路。 4. **Authorization**:3.1.0.RC1版本引入了基于角色的访问...

    spring MVC所需jar包和filter的配置

    - `DelegatingFilterProxy`:Spring提供的Filter,用于代理Spring的Bean,例如Spring Security的Filter链。 - 编写自定义Filter:扩展`javax.servlet.Filter`类,实现`doFilter`方法,然后在`web.xml`中配置。 3....

    spring-security-3.0.5.RELEASE

    主要包括`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextPersistenceFilter`、`LogoutFilter`、`UsernamePasswordAuthenticationFilter`等,它们分别负责委托给Spring Security管理的安全...

    spring-security-4.2.3.RELEASE

    例如,`FilterSecurityInterceptor` 处理授权请求,而 `DelegatingFilterProxy` 用于配置 Spring 容器中的过滤器。 4. **会话管理**:框架提供了会话固定保护(Session Fixation Protection)和会话超时管理,防止...

    SpringSecurity 3.0.1.RELEASE.CHM

    7.4. 使用其他过滤器 —— 基于框架 8. 核心安全过滤器 8.1. FilterSecurityInterceptor 8.2. ExceptionTranslationFilter 8.2.1. AuthenticationEntryPoint 8.2.2. AccessDeniedHandler 8.3. ...

    spring-security-2.0.5.jar2

    Spring Security的核心在于过滤器链,其中包含了一系列的过滤器,如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextPersistenceFilter`等,它们共同协作,完成从HTTP请求到安全响应的转换。...

    spring-security-3.2.4.RELEASE-dist.zip

    主要包括`DelegatingFilterProxy`、`SecurityContextPersistenceFilter`、`UsernamePasswordAuthenticationFilter`等过滤器。 4. **CSRF防护**:Spring Security 3.2.4包含了对跨站请求伪造(CSRF)的防护,通过...

    spring-security-3.1.0.RC3

    每个过滤器都有特定的职责,如`DelegatingFilterProxy`用于委托给Spring Security的其他过滤器,`HttpServletRequestWrapperFilter`用于包装请求以增加安全性。 2. **身份验证(Authentication)**:当用户尝试访问...

    spring-security-4.2.0.RELEASE-dist

    4.2.0版本中的过滤器链包括了如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextHolderAwareRequestFilter`、`AnonymousAuthenticationFilter`、`ExceptionTranslationFilter`、`...

    springsecurity所有jar包

    它提供HTTP安全拦截过滤器链,如`DelegatingFilterProxy`,可以与Spring的DispatcherServlet集成。 4. **spring-security-acl**:这个模块提供了细粒度访问控制,允许对对象级别的权限进行管理。例如,你可以控制...

    spring-security4.0.zip

    这些过滤器包括:DelegatingFilterProxy、SecurityContextPersistenceFilter、ConcurrentSessionControlFilter等,它们协同工作以确保系统的安全性。 2. **认证机制** - `spring-security-config-4.0.0.RELEASE....

    过滤器.zip

    7. **Spring框架中的Filter**:在Spring MVC中,虽然可以使用传统的Servlet Filter,但Spring也提供了DelegatingFilterProxy,它可以用来代理Spring的Bean,这样过滤器也能享受到Spring的依赖注入。 通过分析和实践...

    全面解析Spring Security 过滤器链的机制和特性

    实际上,还有一个隐藏层 DelegatingFilterProxy 代理了 springSecurityFilterChain 注入到最后整个 Servlet 过滤器链中。 在 FilterChainProxy 中, Filter 们按照一定的顺序被 SecurityBuilder 的实现来组装为 ...

    DelegatingFilterProxy示例

    通过上述分析,我们可以看出`DelegatingFilterProxy`在Spring MVC应用中的重要性,它使得过滤器可以充分利用Spring框架的优势,提高了代码的可维护性和可扩展性。同时,结合提供的代码示例,我们可以更好地理解和...

    spring-security-3.1.0.RC1

    例如,`DelegatingFilterProxy`将请求转发给Spring Security的Web应用安全过滤器链。 4. **OAuth支持**:虽然3.1.0版本相对较旧,但已经包含了对OAuth的基本支持,允许第三方应用访问受保护的资源,同时保护用户的...

    spring security 4 小例子带自定义过滤器

    默认的过滤器链包括了如`DelegatingFilterProxy`(用于代理Spring Security的FilterSecurityInterceptor)、`ChannelProcessingFilter`(处理HTTP与HTTPS切换)和`FilterInvocationSecurityMetadataSourceAdvisor`...

    Spring-mvc+mybatis+shiro学习demo

    具体实现时,通常会在Spring MVC的配置文件中添加Shiro的Filter,如DelegatingFilterProxy,以便在请求进入控制器之前进行安全检查。同时,会创建一个Shiro配置类,定义Realm(域),将用户、角色和权限关联起来。...

    spring-security-3.1.3.RELEASE

    - **过滤链**:定义一系列过滤器来处理HTTP请求,如`DelegatingFilterProxy`用于委托给Spring Security的过滤器链。 4. **实战应用** - **集成Spring MVC**:在Spring MVC应用中,Spring Security可以无缝集成,...

Global site tag (gtag.js) - Google Analytics