SpringSecurity 用户帐号已被锁定的问题及解决方法
更新时间:2023年12月07日 11:48:27 作者:宣布无人罪
这篇文章主要介绍了SpringSecurity 用户帐号已被锁定,本文给大家分享问题原因及解决方式,需要的朋友可以参考下
SpringSecurity 用户帐号已被锁定
01 异常发生场景
- 当我自定义登录接口时
- 以下是我的UserDetailsService和UserDetails接口的实现类
@Service
public class UserDetailsServiceImpl implements UserDetailsService {
@Autowired
private MsUserServiceImp msUserServiceImp;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
//使用mybatis-plus,获取到账号密码数据
LambdaQueryWrapper<MsUser> qw=new LambdaQueryWrapper<>();
qw.eq(MsUser::getUsername,username);
MsUser user = msUserServiceImp.getOne(qw);
LoginUser loginUser = new LoginUser();
loginUser.setMsUser(user);
return loginUser;
}
}@Data
@NoArgsConstructor
@AllArgsConstructor
public class LoginUser implements UserDetails {
private MsUser msUser;
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return null;
}
@Override
public String getPassword() {
return msUser.getPassword();
}
@Override
public String getUsername() {
return msUser.getUsername();
}
@Override
public boolean isAccountNonExpired() {
return false;
}
@Override
public boolean isAccountNonLocked() {
return false;
}
@Override
public boolean isCredentialsNonExpired() {
return false;
}
@Override
public boolean isEnabled() {
return false;
}
}
02 问题发生的原因
重写的UserDetails类默认方法返回值为false
- 1.isAccountNonExpired()
判断帐户是否过期
- 2.isAccountNonLocked()
判断帐户是否锁定
- 3.isCredentialsNonExpired()
凭据是否过期,就是登录时间到没到
- 4.isEnabled()
是否启动
03 解决方式
将UserDetails接口的实现类里上述方法,也就是所有方法设置为true就可以避免被锁定了
到此这篇关于SpringSecurity 用户帐号已被锁定的文章就介绍到这了,更多相关SpringSecurity 帐号锁定内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
相关文章
详解Java阻塞队列(BlockingQueue)的实现原理
这篇文章主要介绍了详解Java阻塞队列(BlockingQueue)的实现原理,阻塞队列是Java util.concurrent包下重要的数据结构,有兴趣的可以了解一下2017-06-06
springboot 使用zookeeper实现分布式队列的基本步骤
这篇文章主要介绍了springboot 使用zookeeper实现分布式队列,通过ZooKeeper的协调和同步机制,多个应用程序可以共享一个队列,并按照先进先出的顺序处理队列中的消息,需要的朋友可以参考下2023-08-08
JavaWeb项目FullCalendar日历插件使用的示例代码
本篇文章主要介绍了JavaWeb项目FullCalendar日历插件使用的示例代码,具有一定的参考价值,有兴趣的可以了解一下2017-08-08
@TransactionalEventListener的使用和实现原理分析
这篇文章主要介绍了@TransactionalEventListener的使用和实现原理分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12


最新评论