【发布时间】:2018-06-23 08:58:49
【问题描述】:
我想使用 XML 配置(4.0 版)实现 Spring Security,我的应用程序不需要身份验证,我需要的只是 CSRF 预防。
我参考了以下
No Authentication and authorization using Spring Security 但这是 Java 配置
我的 spring-security.xml 看起来像这样
<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-4.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-4.0.xsd">
<http auto-config="true">
<intercept-url pattern="/**" access="permitAll"/>
</http>
但我不断收到此错误
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'org.springframework.security.authenticationManager'
因为没有定义身份验证管理器。
【问题讨论】:
-
我认为你必须制作一个指向这个的配置 bean
-
您能详细说明一下吗?您的意思是身份验证管理器的配置 bean?那个 bean 应该是空的吗?
-
请阅读this
-
是的,我已经看到了,但它有什么帮助
-
auto-config="true"添加登录表单、基本身份验证和注销 URL。鉴于您不需要这些,您应该将其从配置中删除。如果您使用的是 Spring Security 4.0 或更高版本,则默认启用 CSRF 保护,因此除了您已经拥有的(一旦您删除了auto-config),不需要对其进行特殊配置。
标签: java xml spring spring-mvc spring-security