springsecurity實現MD5驗證使用者登入
阿新 • • 發佈:2018-12-31
首先需要引入MD5的jar包中的類。
import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
最新的springboot匯入的springsecurity的jar包裡面沒有這個類,所以需要手動匯入或者自己重寫pom.xml匯入低的springsecurity版本。
手動匯入的jar包下載地址點選開啟連結
websecurityconfig中的程式碼:
private static Md5PasswordEncoder md5encoder = new Md5PasswordEncoder(); @Override public void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(customUserService()).passwordEncoder(new PasswordEncoder(){ @Override public String encode(CharSequence rawPassword) { return md5encoder.encodePassword(rawPassword.toString(), "hongxf"); } @Override public boolean matches(CharSequence rawPassword, String encodedPassword) { return md5encoder.isPasswordValid(encodedPassword, rawPassword.toString(), "hongxf"); }}); //user Details Service驗證 }
這樣security就會攔截下來使用者密碼,對其進行md5轉碼再與資料庫中的密碼比較。
註冊時在DAO層中對使用者輸入的密碼進行md5轉碼再存入資料庫
userpwd = md5encoder.encodePassword(userpwd,"hongxf");