Spring security 未调用Spring Security UserDetails服务
我正在从SpringSecurity 3.2.5升级到4.0.4,使用 我的Spring security 未调用Spring Security UserDetails服务,spring-security,Spring Security,我正在从SpringSecurity 3.2.5升级到4.0.4,使用 我的UserDetailsService如下所示: package com.me.security; 导入org.springframework.security.core.userdetails.userdetails服务; 公共类用户实现UserDetailsService{ 公共用户(){ System.err.println(“用户构造函数”); } @凌驾 public UserDetail loadUserByU
UserDetailsService
如下所示:
package com.me.security;
导入org.springframework.security.core.userdetails.userdetails服务;
公共类用户实现UserDetailsService{
公共用户(){
System.err.println(“用户构造函数”);
}
@凌驾
public UserDetail loadUserByUsername(字符串名称){
System.err.println(“按用户名加载”+NAME);
抛出新的UsernameNotFoundException(“未找到用户”);
}
}
我的WEB-INF/applicationContext.xml
有以下内容:
当我尝试登录时,我的代码不会被调用。我确实在服务器日志中看到了来自Users构造函数的消息,但没有看到来自loadUserByUsername方法的消息
相反,无论我输入什么用户名和密码,我都会进入403错误页面
(也许我已经看这个太久了…)
为什么Spring不调用我的UserDetails服务,我需要什么才能让它工作?听起来好像是csrf过滤器。在SpringSecurity4.x中,默认情况下会激活它:。这可能是一个问题,如果你总是得到一个HTTP 403 尝试在security:http元素中禁用此设置:
<csrf disabled="true"/>
听起来像是csrf滤波器。在SpringSecurity4.x中,默认情况下会激活它:。这可能是一个问题,如果你总是得到一个HTTP 403 尝试在security:http元素中禁用此设置:
<csrf disabled="true"/>
Argh,谢谢!我完全错过了迁移指南中的那一部分。啊,谢谢!我完全错过了迁移指南中的那一节。