我正在尝试在我的简单应用程序中配置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”未绑定。
如何解决此问题?
答案 0 :(得分:7)
您错过了beans
和b
前缀。您已声明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
。