一、DelegatingFilterProxy
在Spring中提供一过滤器DelegatingFilterProxy,这个过滤器里没有过滤器的任何逻辑,DelegatingFilterProxy做的事情是代理Filter的方法,从application context里获得bean。这让bean可以获得spring web application context的生命周期支持,使配置较为轻便。 bean必须实现javax.servlet.Filter接口,它必须和filter-name里定义的名称是一样的。
<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>
二、DelegatingFilterProxy还提供一属性,targetBeanName
<filter>
<filter-name>myFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>自定义FilterBean的名字</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
本文参考:http://www.family168.com/tutorial/springsecurity3/html/web-infrastructure.html
分享到:
相关推荐
Spring通过其IoC容器,提供了更高级别的依赖管理和生命周期管理,使得Filter和Servlet能够更加灵活地与应用中的其他bean交互,避免了硬编码和降低了耦合度。 #### 实现步骤详解 1. **定义Filter或Servlet Bean** ...
除了基本的`@Component`家族,Spring还提供了一些高级注解,如`@Scope`用于定义Bean的作用域,`@Lazy`用于延迟初始化Bean,`@Qualifier`用于在多个相同类型的Bean中指定特定的一个。 ### **总结** Spring的自动...
### web.xml文件中配置(servlet, spring, filter, listener)的加载顺序 在Java Web应用开发中,`web.xml`文件是整个Web应用程序的核心配置文件之一,它定义了Servlet容器如何启动、初始化以及配置各个组件如...
- `DelegatingFilterProxy`:Spring提供的Filter,用于代理Spring的Bean,例如Spring Security的Filter链。 - 编写自定义Filter:扩展`javax.servlet.Filter`类,实现`doFilter`方法,然后在`web.xml`中配置。 3....
Spring Security 提供了权限表达式语言,允许在访问控制策略中使用类似 `"hasRole('ROLE_ADMIN')"` 或 `"isAuthenticated()"` 的表达式。这些表达式可以在方法安全注解或访问决策器中使用,实现细粒度的权限控制。 ...
在Spring框架中,如果需要在ActionForm中注入其他对象,例如数据库访问层的服务,可能会遇到问题,因为ActionForm通常是非Spring管理的bean。 针对这个问题,一种解决办法是将注入的属性声明为静态,并修改setter...
Spring中bean的范围定义了它的生命周期以及一个bean实例是否对单个请求、会话、整个Web应用可用。 4.6 自定义bean的性质 开发者可以为bean定义生命周期回调方法,以实现初始化和销毁逻辑。另外,还可以通过实现特定...
2. **spring-context-4.1.5.RELEASE.jar**:Spring上下文模块,提供了与应用程序环境相关的服务,如国际化、事件传播、资源访问以及bean的生命周期管理。它扩展了核心容器(由spring-core和spring-beans组成),增加...
- **功能简介**:包含了 Web 应用开发时使用 Spring 框架时所需的核心类,包括自动载入 WebApplicationContext 特性的类、Struts 与 JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。 - **应用场景**:...
- 使用Spring的Bean管理,我们可以把Shiro的相关组件(如 Realm、SecurityManager、Filter)配置为Spring Bean,方便管理和依赖注入。 - 在Spring配置文件中定义Shiro的过滤器链,如`FormAuthenticationFilter`、`...
3. **配置Spring**:在`applicationContext.xml`文件中,你需要定义你需要的bean,包括业务逻辑层(Service)和数据访问层(DAO)。Spring通过DI管理这些bean的生命周期,并负责初始化和销毁。 4. **Action类与...
对于Struts2和Spring的配置,我们需要在`struts.xml`和`spring-context.xml`文件中进行相应的设置,例如定义Action类、配置Spring Bean以及指定Struts2与Spring的整合方式。同时,确保web.xml文件中配置了...
- **配置Spring Security Bean**:接下来需要在Spring的配置文件中定义过滤器链以及其他Spring Security组件。 ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
Struts2会自动从Spring容器中查找并注入Action所需的bean。 通过这样的整合,我们能够实现业务逻辑和视图层的解耦,使代码更加模块化,便于维护和扩展。同时,Spring的IoC和AOP特性也能够更好地支持企业级应用的...
在Spring Cloud 2.0版本中,Eureka Server的配置相比1.x版本确实有了一些显著的变化,尤其是在结合Spring Security进行安全设置时。Spring Cloud Eureka是Netflix Eureka的Spring Boot实现,它为微服务架构提供了...
22 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 23 24 <param-name>encoding 25 <param-value>UTF-8 26 27 </filter> 28 29 <filter-mapping> 30 <filter-name>...
Spring与Redis结合,可以将用户的Session数据存储在Redis这个中央缓存服务器中,确保所有服务器都能访问到同一份Session数据。 2. **引入依赖**: 首先,你需要在项目的`pom.xml`或`build.gradle`文件中添加Spring...
1. 如何在Spring配置文件中声明Bean,包括DataSource、SessionFactory、SessionFactoryBean、HibernateTransactionManager等,以实现Spring与Hibernate的整合。 2. 如何使用Spring MVC的注解(如@Controller、@...
**Spring Security**是一种广泛应用于Java企业级项目中的安全框架,它基于Spring AOP(面向切面编程)和Servlet过滤器来提供全面的安全解决方案。该框架能够在Web请求级别以及方法调用级别处理身份验证...