欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringSecurity?用戶帳號已被鎖定的問題及解決方法

 更新時間:2023年12月07日 11:48:27   作者:宣布無人罪  
這篇文章主要介紹了SpringSecurity?用戶帳號已被鎖定,本文給大家分享問題原因及解決方式,需要的朋友可以參考下

SpringSecurity 用戶帳號已被鎖定

01 異常發(fā)生場景

  • 當(dāng)我自定義登錄接口時
  • 以下是我的UserDetailsService和UserDetails接口的實(shí)現(xiàn)類
@Service
public class UserDetailsServiceImpl implements UserDetailsService {
    @Autowired
    private MsUserServiceImp msUserServiceImp;
    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        //使用mybatis-plus,獲取到賬號密碼數(shù)據(jù)
        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 問題發(fā)生的原因

重寫的UserDetails類默認(rèn)方法返回值為false

  • 1.isAccountNonExpired()

判斷帳戶是否過期

  • 2.isAccountNonLocked()

判斷帳戶是否鎖定

  • 3.isCredentialsNonExpired()

憑據(jù)是否過期,就是登錄時間到?jīng)]到

  • 4.isEnabled()

是否啟動

03 解決方式

將UserDetails接口的實(shí)現(xiàn)類里上述方法,也就是所有方法設(shè)置為true就可以避免被鎖定了

到此這篇關(guān)于SpringSecurity 用戶帳號已被鎖定的文章就介紹到這了,更多相關(guān)SpringSecurity 帳號鎖定內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論