我已经构建了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文件中?
答案 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有很大不同!