#spring-security
#spring-безопасность
Вопрос:
Я пытаюсь настроить 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» не привязан.
Как я могу решить эту проблему?
Ответ №1:
Вам не хватает префиксов beans
и b
. Вы объявили b
префикс, а затем использовали beans
один. Вам нужно выбрать один и придерживаться его. Например, заменить
xmlns:b="http://www.springframework.org/schema/beans"
с
xmlns:beans="http://www.springframework.org/schema/beans"
и затем
<b:bean...
с
<beans:bean...
Ответ №2:
Вы объявляете пространство имен как b:
и используете его везде, кроме заключающего beans
тега, в котором вы используете beans:beans
вместо b:beans
.