来源: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>
其他可以通过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>
相关推荐
org.springframework.web.filter.DelegatingFilterProxy.class org.springframework.web.filter.GenericFilterBean.class org.springframework.web.filter.Log4jNestedDiagnosticContextFilter.class org.spring...
在Spring MVC框架中,过滤器(Filter)是一个关键组件,用于在请求被处理之前或之后执行特定的操作。本文将深入探讨如何实现一个登录过滤器,该过滤器旨在拦截需要登录才能访问的页面,并确保用户已登录才能继续操作...
在3.1.0.RC1中,这些过滤器如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextPersistenceFilter`等,构建了一条完整的安全链路。 4. **Authorization**:3.1.0.RC1版本引入了基于角色的访问...
- `DelegatingFilterProxy`:Spring提供的Filter,用于代理Spring的Bean,例如Spring Security的Filter链。 - 编写自定义Filter:扩展`javax.servlet.Filter`类,实现`doFilter`方法,然后在`web.xml`中配置。 3....
主要包括`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextPersistenceFilter`、`LogoutFilter`、`UsernamePasswordAuthenticationFilter`等,它们分别负责委托给Spring Security管理的安全...
例如,`FilterSecurityInterceptor` 处理授权请求,而 `DelegatingFilterProxy` 用于配置 Spring 容器中的过滤器。 4. **会话管理**:框架提供了会话固定保护(Session Fixation Protection)和会话超时管理,防止...
7.4. 使用其他过滤器 —— 基于框架 8. 核心安全过滤器 8.1. FilterSecurityInterceptor 8.2. ExceptionTranslationFilter 8.2.1. AuthenticationEntryPoint 8.2.2. AccessDeniedHandler 8.3. ...
Spring Security的核心在于过滤器链,其中包含了一系列的过滤器,如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextPersistenceFilter`等,它们共同协作,完成从HTTP请求到安全响应的转换。...
主要包括`DelegatingFilterProxy`、`SecurityContextPersistenceFilter`、`UsernamePasswordAuthenticationFilter`等过滤器。 4. **CSRF防护**:Spring Security 3.2.4包含了对跨站请求伪造(CSRF)的防护,通过...
每个过滤器都有特定的职责,如`DelegatingFilterProxy`用于委托给Spring Security的其他过滤器,`HttpServletRequestWrapperFilter`用于包装请求以增加安全性。 2. **身份验证(Authentication)**:当用户尝试访问...
4.2.0版本中的过滤器链包括了如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextHolderAwareRequestFilter`、`AnonymousAuthenticationFilter`、`ExceptionTranslationFilter`、`...
它提供HTTP安全拦截过滤器链,如`DelegatingFilterProxy`,可以与Spring的DispatcherServlet集成。 4. **spring-security-acl**:这个模块提供了细粒度访问控制,允许对对象级别的权限进行管理。例如,你可以控制...
这些过滤器包括:DelegatingFilterProxy、SecurityContextPersistenceFilter、ConcurrentSessionControlFilter等,它们协同工作以确保系统的安全性。 2. **认证机制** - `spring-security-config-4.0.0.RELEASE....
7. **Spring框架中的Filter**:在Spring MVC中,虽然可以使用传统的Servlet Filter,但Spring也提供了DelegatingFilterProxy,它可以用来代理Spring的Bean,这样过滤器也能享受到Spring的依赖注入。 通过分析和实践...
实际上,还有一个隐藏层 DelegatingFilterProxy 代理了 springSecurityFilterChain 注入到最后整个 Servlet 过滤器链中。 在 FilterChainProxy 中, Filter 们按照一定的顺序被 SecurityBuilder 的实现来组装为 ...
通过上述分析,我们可以看出`DelegatingFilterProxy`在Spring MVC应用中的重要性,它使得过滤器可以充分利用Spring框架的优势,提高了代码的可维护性和可扩展性。同时,结合提供的代码示例,我们可以更好地理解和...
例如,`DelegatingFilterProxy`将请求转发给Spring Security的Web应用安全过滤器链。 4. **OAuth支持**:虽然3.1.0版本相对较旧,但已经包含了对OAuth的基本支持,允许第三方应用访问受保护的资源,同时保护用户的...
默认的过滤器链包括了如`DelegatingFilterProxy`(用于代理Spring Security的FilterSecurityInterceptor)、`ChannelProcessingFilter`(处理HTTP与HTTPS切换)和`FilterInvocationSecurityMetadataSourceAdvisor`...
具体实现时,通常会在Spring MVC的配置文件中添加Shiro的Filter,如DelegatingFilterProxy,以便在请求进入控制器之前进行安全检查。同时,会创建一个Shiro配置类,定义Realm(域),将用户、角色和权限关联起来。...
- **过滤链**:定义一系列过滤器来处理HTTP请求,如`DelegatingFilterProxy`用于委托给Spring Security的过滤器链。 4. **实战应用** - **集成Spring MVC**:在Spring MVC应用中,Spring Security可以无缝集成,...