2010-04-27 117 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> 

你可以找到春天网站上更具体的答案,该文档是相当不错的。