SpringSecurity出現org.springframework.security.authentication.BadCredentialsException: Bad credentials


出現Bad credentials,排除了配置問題,debug跟到了數據庫的內容可以查出;

最后發現是因為直接通過insert語句增加了用戶信息,密碼沒有經過加密。

一:springSecurity提供了一個增加{noop}字符串來解決

"{noop}"+userInfo.getPassword()
(但是沒卵用。。。。)
二:
通過調用加密算法,重新把密碼加密后再保存,就可以正常登陸了。
public class BCryptPasswordEncoderUtils {

private static BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
public static String encodePassword(String password){
return bCryptPasswordEncoder.encode(password);
}

public static void main(String[] args) {
String password = "demo";
String pwd = encodePassword(password);
System.out.println(pwd);
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM