使用Spring的security.xml奇怪的错误

时间:2011-11-05 16:40:46

标签: spring-security

我正在尝试在我的简单应用程序中配置Spring Security。这是我的配置文件security.xml

<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:b="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                        http://www.springframework.org/schema/jdbc
                        http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
                        http://www.springframework.org/schema/security
                        http://www.springframework.org/schema/security/spring-security-3.0.xsd">
    <http>
        <form-login login-page="/login/" authentication-failure-url="/fail/" />
        <logout logout-success-url="/" />
    </http>

    <authentication-manager>
        <authentication-provider user-service-ref='myUserDetailsService' />
    </authentication-manager>

    <b:bean id="myUserDetailsService" class="my.package.security.MyUserDataService" />
</beans:beans>

我在部署时遇到以下错误:

  

元素“beans:beans”的前缀“beans”未绑定。

如何解决此问题?

2 个答案:

答案 0 :(得分:7)

您错过了beansb前缀。您已声明b前缀,然后使用beans前缀。你需要选择一个并坚持下去。例如,替换

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

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

然后

<b:bean...

<beans:bean...

答案 1 :(得分:0)

您将命名空间声明为b:并在除了封闭的beans标记之外的任何地方使用它,您使用的是beans:beans而不是b:beans