SEC-1657: Corresponding namespace updates to use SecurityFilterChain list in place of filterChainMap.

This commit is contained in:
Luke Taylor
2011-04-23 22:28:19 +01:00
parent 37d0454fd7
commit 04dc65c8fe
17 changed files with 258 additions and 174 deletions

View File

@@ -19,9 +19,12 @@
-->
<beans default-lazy-init="true" xmlns="http://www.springframework.org/schema/beans"
xmlns:sec="http://www.springframework.org/schema/security"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<bean id="mockFilter" class="org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter"/>
@@ -45,44 +48,52 @@ http://www.springframework.org/schema/security http://www.springframework.org/sc
<bean id="mockNotAFilter" class="org.springframework.security.web.util.AnyRequestMatcher"/>
<bean id="filterChain" class="org.springframework.security.web.FilterChainProxy">
<sec:filter-chain-map path-type="ant">
<sec:filter-chain pattern="/foo/**" filters="mockFilter"/>
<sec:filter-chain pattern="/some/other/path/**" filters="mockFilter"/>
<sec:filter-chain pattern="/do/not/filter" filters="none"/>
</sec:filter-chain-map>
<constructor-arg>
<util:list>
<sec:filter-chain pattern="/foo/**" filters="mockFilter"/>
<sec:filter-chain pattern="/some/other/path/**" filters="mockFilter"/>
<sec:filter-chain pattern="/do/not/filter" filters="none"/>
</util:list>
</constructor-arg>
</bean>
<!-- TODO: Refactor to replace the above (SEC-1034: 'new' is now the only valid syntax) -->
<bean id="newFilterChainProxy" class="org.springframework.security.web.FilterChainProxy">
<sec:filter-chain-map path-type="ant">
<sec:filter-chain pattern="/foo/**" filters="mockFilter"/>
<sec:filter-chain pattern="/some/other/path/**"
filters="
sif,
mockFilter,
mockFilter2"
/>
<sec:filter-chain pattern="/do/not/filter" filters="none"/>
<sec:filter-chain pattern="/**" filters="sif,apf,mockFilter"/>
</sec:filter-chain-map>
<constructor-arg>
<util:list>
<sec:filter-chain pattern="/foo/**" filters="mockFilter"/>
<sec:filter-chain pattern="/some/other/path/**"
filters="
sif,
mockFilter,
mockFilter2"
/>
<sec:filter-chain pattern="/do/not/filter" filters="none"/>
<sec:filter-chain pattern="/**" filters="sif,apf,mockFilter"/>
</util:list>
</constructor-arg>
</bean>
<bean id="newFilterChainProxyNoDefaultPath" class="org.springframework.security.web.FilterChainProxy">
<sec:filter-chain-map path-type="ant">
<sec:filter-chain pattern="/foo/**" filters="mockFilter"/>
<sec:filter-chain pattern="/*.bar" filters="mockFilter,mockFilter2"/>
</sec:filter-chain-map>
<constructor-arg>
<util:list>
<sec:filter-chain pattern="/foo/**" filters="mockFilter"/>
<sec:filter-chain pattern="/*.bar" filters="mockFilter,mockFilter2"/>
</util:list>
</constructor-arg>
</bean>
<bean id="newFilterChainProxyWrongPathOrder" class="org.springframework.security.web.FilterChainProxy">
<sec:filter-chain-map path-type="ant">
<constructor-arg>
<util:list>
<sec:filter-chain pattern="/foo/**" filters="mockFilter"/>
<sec:filter-chain pattern="/**" filters="
sif,
apf,
mockFilter"/>
<sec:filter-chain pattern="/some/other/path/**" filters="sif,mockFilter,mockFilter2"/>
</sec:filter-chain-map>
</util:list>
</constructor-arg>
</bean>
<bean id="newFilterChainProxyRegex" class="org.springframework.security.web.FilterChainProxy">
@@ -97,60 +108,70 @@ http://www.springframework.org/schema/security http://www.springframework.org/sc
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
<bean id="sec1235FilterChainProxy" class="org.springframework.security.web.FilterChainProxy">
<sec:filter-chain-map path-type="ant">
<sec:filter-chain pattern="${sec1235.pattern1}*" filters="sif,apf,mockFilter"/>
<sec:filter-chain pattern="${sec1235.pattern2}" filters="mockFilter2"/>
<sec:filter-chain pattern="/**" filters="sif"/>
</sec:filter-chain-map>
<constructor-arg>
<util:list>
<sec:filter-chain pattern="${sec1235.pattern1}*" filters="sif,apf,mockFilter"/>
<sec:filter-chain pattern="${sec1235.pattern2}" filters="mockFilter2"/>
<sec:filter-chain pattern="/**" filters="sif"/>
</util:list>
</constructor-arg>
</bean>
<bean id="newFilterChainProxyNonNamespace" class="org.springframework.security.web.FilterChainProxy">
<property name="filterChainMap">
<map>
<entry>
<key>
<constructor-arg>
<list>
<bean class="org.springframework.security.web.SecurityFilterChain">
<constructor-arg>
<bean class="org.springframework.security.web.util.AntPathRequestMatcher">
<constructor-arg value="/foo/**"/>
</bean>
</key>
<list>
<ref local="mockFilter"/>
</list>
</entry>
<entry>
<key>
</constructor-arg>
<constructor-arg>
<list>
<ref local="mockFilter"/>
</list>
</constructor-arg>
</bean>
<bean class="org.springframework.security.web.SecurityFilterChain">
<constructor-arg>
<bean class="org.springframework.security.web.util.AntPathRequestMatcher">
<constructor-arg value="/some/other/path/**"/>
</bean>
</key>
<list>
<ref local="sif"/>
<ref local="mockFilter"/>
<ref local="mockFilter2"/>
</list>
</entry>
<entry>
<key>
</constructor-arg>
<constructor-arg>
<list>
<ref local="sif"/>
<ref local="mockFilter"/>
<ref local="mockFilter2"/>
</list>
</constructor-arg>
</bean>
<bean class="org.springframework.security.web.SecurityFilterChain">
<constructor-arg>
<bean class="org.springframework.security.web.util.AntPathRequestMatcher">
<constructor-arg value="/do/not/filter*"/>
</bean>
</key>
<list/>
</entry>
<entry>
<key>
</constructor-arg>
<constructor-arg>
<list />
</constructor-arg>
</bean>
<bean class="org.springframework.security.web.SecurityFilterChain">
<constructor-arg>
<bean class="org.springframework.security.web.util.AntPathRequestMatcher">
<constructor-arg value="/**"/>
</bean>
</key>
<list>
<ref local="sif"/>
<ref local="apf"/>
<ref local="mockFilter"/>
</list>
</entry>
</map>
</property>
</constructor-arg>
<constructor-arg>
<list>
<ref local="sif"/>
<ref local="apf"/>
<ref local="mockFilter"/>
</list>
</constructor-arg>
</bean>
</list>
</constructor-arg>
</bean>
</beans>