Spring DelegatingFilterProxy
来源:互联网 发布:建筑软件开发 编辑:程序博客网 时间:2024/05/12 11:10
最近在学习shiro的时候看到了一个比较有用的filter-------------org.springframework.web.filter.DelegatingFilterProxy
他能将filter的部分配置放到applicationContext.xml中去,当然如果filter的配置项比较简单(key-value),可以直接在web.xml中配置
在<filter>中加入一下配置即可
<span style="font-size:18px;"> <init-param> <param-name>targetFilterLifecycle</param-name> <param-value>true</param-value> </init-param></span>
如果考虑比如说ilter的配置比较复杂或者filter的配置存在依赖项,则前面这种方式完全不足以应付这种场景。DelegatingFilterProxy则解决了这样的问题,
配置的应用如下:
web.xml中:
<span style="font-size:18px;"><filter><filter-name>shiroFilter</filter-name><filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class><init-param><param-name>targetFilterLifecycle</param-name><param-value>true</param-value></init-param></filter></span>applicationContext中:
<span style="font-size:18px;"><bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"><property name="securityManager" ref="securityManager" /><property name="loginUrl" value="/login" /><property name="successUrl" value="/" /><property name="filterChainDefinitions"><value>/login = authc/logout = logout/static/** = anon/api/** = anon/register/** = anon/admin/** = roles[admin]/** = user</value></property></bean></span>
其中web.xml中<filter-name>的值必须和applicationContext.xml中bean id的值相同即可。
读者也可以猜测到spring内部是怎么干的,简单的说就是在filter初始化的时候,拿到上下文applicationContext,然后获取web.xml中的<filter-name>配置项,通过getBean方法就获取到了applicationContext.xml中对应的filter.
0 0
- Spring DelegatingFilterProxy
- Spring-DelegatingFilterProxy
- spring DelegatingFilterProxy管理过滤器
- spring之DelegatingFilterProxy
- spring DelegatingFilterProxy,targetFilterLifecycle的作用
- Spring之过滤器代理DelegatingFilterProxy
- Spring Security about DelegatingFilterProxy【转】
- DelegatingFilterProxy
- .DelegatingFilterProxy
- DelegatingFilterProxy
- DelegatingFilterProxy
- DelegatingFilterProxy
- DelegatingFilterProxy
- DelegatingFilterProxy
- DelegatingFilterProxy
- spring security设置(springSecurityFilterChain与DelegatingFilterProxy)
- spring+DelegatingFilterProxy拦截器实现文件上传
- spring DelegatingFilterProxy 过滤器 的原理及运用
- 初试Windows 10技术预览版
- Java的GC机制及算法
- 设计模式C++实现(1)——工厂模式
- 利用stack计算后缀表达式
- 安装mysql
- Spring DelegatingFilterProxy
- 2015腾讯校园招聘技术类研发笔试题
- HDU——1039 Easier Done Than Said?
- nyoj125盗梦空间
- 关于写代码的一些思考
- MapReduce 编程 系列八 根据输入路径产生输出路径和清除HDFS目录
- 47.创新工场: 求一个数组的最长递减子序列
- 南邮数据结构实验1.1 顺序表的操作
- 闲言碎语