一 修改地方
1.1 在shiroconfig注释掉密码注册器

1.2 在自定义的reaml中设置密码判断逻辑
1.认证方法里
// 下面语句包含此逻辑的判断
Md5Hash md5Hash2 = new Md5Hash(password, user.getSalt(), 1024);
String realPassword=md5Hash2.toHex();
System.out.println("加密后:"+realPassword);
if (StringUtils.isBlank(realPassword) || !realPassword.equals(user.getPassword())){
throw new IncorrectCredentialsException("账户密码不匹配!");
}
//这里password传入明文
return new SimpleAuthenticationInfo(user,password ,this.getName());

2.授权方法里
因为在认证方法里: return new SimpleAuthenticationInfo(user,password ,this.getName()); 中的第一个参数传入的是user实体

本文档介绍了如何在Shiro框架中优化密码验证和授权逻辑。通过注释掉密码注册器,自定义 Realm 实现密码比对逻辑,确保认证过程中密码的安全校验。在授权方法中,利用认证信息进行权限检查,简化了代码结构并提高了安全性。最终,展示了页面访问结果和整个流程的顺畅运行。

2945

被折叠的 条评论
为什么被折叠?



