網站首頁 編程語言 正文
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就可以避免被鎖定了
原文鏈接:https://blog.csdn.net/2302_77182979/article/details/134732491
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-02-10 Linux環境下安裝docker環境(親測無坑)_docker
- 2023-01-07 Python個人博客程序開發實例后臺編寫_python
- 2023-07-14 vite配置別名,并處理報錯:找不到模塊“xxx”或其相應的類型聲明
- 2022-09-29 一文詳解Golang中net/http包的實現原理_Golang
- 2022-06-06 Anaconda安裝pytorch和paddle的方法步驟_python
- 2022-06-23 android中的adb命令學習_Android
- 2023-04-08 C#字符串和Acsii碼相互轉換_C#教程
- 2022-07-30 Linux secure 日志分析
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支