Spring Security的多个配置文件

1 spring config spring-mvc spring-security

我对Spring的所有事情都很陌生,现在我正在开发一个使用Spring,Spring MVC和Spring Security的应用程序.

我的问题是我使用两个调度程序Servlet,一个用于/csm/*.html,另一个用于*.html,我希望每个servlet有一个Spring Security配置文件.

这有可能吗?如果是的话,你能指点我一个例子吗?

dub*_*ube 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>
Run Code Online (Sandbox Code Playgroud)

如果没有设置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>
Run Code Online (Sandbox Code Playgroud)

你可以在spring网站上找到更具体的答案,文档非常好.