1. 程式人生 > >springsecurity實現MD5驗證使用者登入

springsecurity實現MD5驗證使用者登入

首先需要引入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");