将安全性集成到Spring MVC应用程序(applicationContext Issue)

时间:2012-02-20 10:27:33

标签: xml spring spring-security

我已经构建了Spring MVC应用程序并将其提升到了一个高级水平。

现在我的任务是将Spring Security集成到它。我现在关注this tutorial以获得春季安全。现在的问题是,在我的MVC应用程序中,已经有一个applicationContext.xml,它是MVC应用程序的父应用程序上下文定义。

正如安全教程中提到的,我是否应该为安全性添加新的应用程序上下文xml文件?其中包含代码:

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans" 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-2.5.xsd
                        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">

    <global-method-security secured-annotations="disabled">
    </global-method-security>

    <http auto-config="true">
        <intercept-url pattern="/**" access="ROLE_USER" />
    </http>

    <authentication-provider>
        <user-service id="userDetailsService">
            <user name="username" password="password" authorities="ROLE_USER, ROLE_ADMIN" />
            <user name="test" password="test" authorities="ROLE_USER" />
        </user-service>
    </authentication-provider>
</beans:beans>

提前致谢。

P.S。 /编辑:或者我应该将它复制到我的MVC应用程序的原始/现有applicationContext.xml文件中?

2 个答案:

答案 0 :(得分:3)

与您的其他情境没有任何问题或冲突。 例如,您可以将安全配置写入context / applicationContext-security.xml,然后从web.xml加载所有上下文文件。

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:context/applicationContext*.xml</param-value>
    </context-param>

答案 1 :(得分:1)

最佳做法是为普通的bean配置提供单独的spring configruation文件,为安全性配置另一个。

但是名字并不重要! 您可以将其中一个命名为applicationContext.xml,然后命名为applicationContext-security.xml

BTW:教程是一个Spring 2教程,你应该看一下使用Spring 3.0和Spring Security 3.0的教程! - Spring Security 3.0与Spring Security 2.0有很大不同!