shiro实现不使用密码加密器进行登录

Posted 健康平安的活着

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shiro实现不使用密码加密器进行登录相关的知识,希望对你有一定的参考价值。

一 修改地方

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实体对象,在授权方法中则获取的就是user对象实体

1.3 页面展示部分

 

1.4 最后访问结果

以上是关于shiro实现不使用密码加密器进行登录的主要内容,如果未能解决你的问题,请参考以下文章

shiro+密码匹配器验证登陆

JeeSite登录和主题切换

SpringBoot 集成 Shiro:使用Shiro的加密功能

Shiro源码——整体组件讲解

cas单点登录-jdbc认证

Apach Shiro 密码加密过程(明文生成密码过程)详细解析