第一:项目整体结构:
注意:Java Resources 设置src/main/java 和src/main/resources 目录,并将src/main/java设置为代码文件根目录,将src/main/resources设置为资源文件根目录。截图如下:
第二步:自定义数据密码加密工具类
package com.digipower.encrypt;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.security.crypto.password.PasswordEncoder;
/**
* 自定义数据密码加密工具类
* @author zzg
*
*/
public class PasswordEncryption implements PasswordEncoder{
@Override
public String encode(CharSequence password) {
return DigestUtils.md5Hex(password.toString()).toUpperCase();
}
@Override
public boolean matches(CharSequence rawPassword, String encodePassword) {
// 判断密码是否存在
if (rawPassword == null) {
return false;
}
//通过md5加密后的密码
String pass = this.encode(rawPassword.toString());
//比较密码是否相等的问题
return pass.equals(encodePassword);
}
}
注意:PasswordEncoder接口,有encode方法,一个返回经过加密规则的String类型,matches方法返回对比结果,boolean 类型。
第三步:修改application.properties 文件,将passwordEncoder.type改为自己的实现类
# md5 encryption
cas.authn.jdbc.query[0].passwordEncoder.type=com.digipower.encrypt.PasswordEncryption
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
# md5 encryption policy
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5
第四步:访问http://localhost:9100/cas/index,跳转至CAS 服务端登入界面,输入正确用户名和密码,返回相关数据结果: