public class SunPasswordEncoder implements PasswordEncoder{
//@實現加密的方法,既將明文轉換為密文的方法
public String encodePassword(String rawPass, Object salt)
throws DataAccessException {
String pass = null;
try {
pass = Tools.encryptBasedDes(rawPass);
} catch (Exception e) {
e.printStackTrace();
}
return pass;
}
//@驗證密碼是否有效的方法,返回'true'則登錄成功
public boolean isPasswordValid(String encPass, String rawPass, Object salt)
throws DataAccessException {
String pass1 = "" + encPass;
String pass2 = encodePassword(rawPass, salt);
return pass1.equals(pass2);
}
<bean id="myEncoder" class="com.xxx.common.SunPasswordEncoder" />
<!-- 后台管理權限認證 -->
<sec:authentication-provider user-service-ref="xxxxxxServiceImpl">
<!-- sec:password-encoder hash="md5" / -->
<sec:password-encoder ref="myEncoder" />
</sec:authentication-provider>
