shiro登入验证的过程详解

写这篇文章主要是记住自己所学过的知识点,二就是学习过程
从网上下载小demo然后根据demo自己改需求,慢慢的理解了shiro的一些基本的用法,但是好奇他是如何去验证我们的密码的所以学习网上的方法跟踪源码发现。
首先在这里打个断定
在这里插入图片描述
首先他会进入这个subject.login 方法进行登入密码验证debug模式进入
在这里插入图片描述
进入这个实现类
在这里插入图片描述
然后他会把这个验证的过程交给securitymanager.login
进入这个方法看看
在这里插入图片描述
走标红线的方法
继续往下看
在这里插入图片描述
这里判断你有没有自己定义的realms如果有他会走你的realms
继续
在这里插入图片描述
往下走
在这里插入图片描述
走这个方法
在这里插入图片描述
进去之后选择进入你自己的realm,这个userRealm是我自己写的realm点进去看看
在这里插入图片描述
最终他会返回一个SimpleAuthenticationInfo然后回到刚刚调用的方法
在这里插入图片描述
一号位置是刚刚进去查找realm时候的方法返回信息后走二号方法
进行密码验证
进去
进去后你会发现CredentialsMatcher这个类是不是有点熟悉一开始我没发现,一直去找程序是用什么方式加密的,这个类就是设置加密方法的可以在自己的realm里面设置如图:
在这里插入图片描述
在这里插入图片描述
接着刚刚的方法进行密码验证
在这里插入图片描述
进入这个方法这个实现类
在这里插入图片描述
在这里插入图片描述
进入加密的方法里面看看
在这里插入图片描述
这里就对自己登入的时候输入的明文密码进行自己要求的加密方式进行加密,自己要求加密的方式是刚刚上面讲的设置加密方法。和下图是一样的
在这里插入图片描述
接下来就是返回密码对比的结果true还是false
在这里插入图片描述
这个就是shiro大致的登入密码验证过程,如果有不足可以指正,因为自己比较懒,所以截图比较多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值