2010-04-27 106 views
1

我對Spring的所有東西都很陌生,現在我正在開發一個使用Spring,Spring MVC和Spring Security的應用程序。Spring Security的多個配置文件

我的問題是我使用兩個調度程序Servlet,一個用於/csm/*.html,另一個用於* .html,我想每個servlet都有一個Spring Security配置文件。

這是可能的嗎?如果是這樣,你能指點我一個例子嗎?

回答

6

本答案與springframework 2.5.6相關,它可能在更高版本中發生變化。

使用模式/WEB-INF/[servlet-name]-servlet.xml或在web.xml像這樣指定它:

<servlet> 
    <servlet-name>handler</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
    <!-- override default name {servlet-name}-servlet.xml --> 
    <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring-myconfig.xml</param-value> 
    </init-param> 
    <load-on-startup>2</load-on-startup> 
</servlet> 

如果不設置contextConfigLocation它默認爲handler-servlet.xml(至少在本例中)。

應用廣泛的東西屬於/WEB-INF/applicationContext.xml。 但你也可以更改默認的,甚至可以添加多個文件:

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     WEB-INF/spring-dao-hibernate.xml, 
     WEB-INF/spring-services.xml, 
     WEB-INF/spring-security.xml 
    </param-value> 
</context-param> 

你可以找到春天網站上更具體的答案,該文檔是相當不錯的。