实现spring安全性时出现xmlBeanDefinitionStoreException

时间:2013-08-23 10:07:05

标签: java xml spring spring-mvc spring-security

我正在尝试在我的应用程序中实现spring security>我正在关注此代码项目教程

  

http://www.codeproject.com/Articles/253901/Getting-Started-Spring-Security

这里我的spring-secrity.xml文件看起来像 -

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

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

    <authentication-manager>
        <authentication-provider>
            <user-service>
                <user name="testadmin" password="testadminpassword"
                    authorities="ROLE_USER, ROLE_ADMIN" />
                <user name="testuser" password="testuserpassword" authorities="ROLE_USER" />
            </user-service>
        </authentication-provider>
    </authentication-manager>

</beans>

但是在运行代码时我得到了异常 -

  

[2013-08-23 15:27:14,607]错误   [org.springframework.web.context.ContextLoader]上下文初始化   失败   org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:   来自ServletContext资源的XML文档中的第8行   [/WEB-INF/spring-security.xml]无效;嵌套异常是   org.xml.sax.SAXParseException; lineNumber:8; columnNumber:86;   cvc-elt.1:找不到元素'beans'的声明。

任何人都可以通过灯光了解这里的问题,以及如何纠正它,任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

根据您的命名空间声明,<beans>元素必须以“bean:”为前缀

<?xml version="1.0" encoding="UTF-8"?>
<bean:beans ...>
    ...
</bean:beans ...>

答案 1 :(得分:0)

这里有两个问题: 第一:你必须写:

<beans:beans ....
</beans:beans>

第二:

xmlns:beans="http://www.springframework.org/schema/beans"

而不是

xmlns:bean="http://www.springframework.org/schema/beans"