2011-12-02 30 views
1

我正在配置一個web應用程序來使用spring-security。我使用xml命名空間來配置安全性,使用「」元素,如下所述:http://static.springsource.org/spring-security/site/docs/2.0.x/reference/ns-config.html你能用<http>創建幾個「springSecurityFilterChain」嗎?

如文檔中所述,命名空間標籤創建了一個單獨的「springSecurityFilterChain」bean,可以映射到我需要的URL在我的web.xml中使用「過濾器映射」安全現在

filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy 
    </filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

,我有兩個web應用,我莫名其妙地需要「合併」成一個共同的;每個應用程序都有一個安全配置,我想避免創建第三個安全配置。我想這樣做的是有Spring配置安全過濾器鏈,以不同的豆NAMS,這樣我可以這樣做:

<filter> 
    <filter-name>springSecurityFilterChain1</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy 
    </filter-class> 
</filter> 


filter> 
    <filter-name>springSecurityFilterChain2</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy 
    </filter-class> 
</filter> 


<filter-mapping> 
    <filter-name>springSecurityFilterChain1</filter-name> 
    <url-pattern>/foo/*</url-pattern> 
</filter-mapping> 

<filter-mapping> 
    <filter-name>springSecurityFilterChain2</filter-name> 
    <url-pattern>/bar/*</url-pattern> 
</filter-mapping> 

就有意義呢?

問題是,標籤似乎沒有提供一種方法來定製創建的bean的名稱。有沒有我錯過的?或者我將不得不以某種方式重複標記所做的與名爲我想要的FilterChain bean?

任何想法歡迎。

回答

1

在Spring Security 3.1中,您可以做到這一點,而不是使用單獨的過濾器,而是在命名空間配置中使用單獨的<http>元素。

Spring Security 3.1 Reference

從春季安全3.1,現在有可能使用多個HTTP 元素來定義用於 不同請求模式單獨的安全過濾器鏈配置。

+0

這是否意味着我們不需要過濾器映射? – Darshana

相關問題