前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shiro源码分析之认证过程

Shiro源码分析之认证过程

作者头像
用户4919348
发布2019-04-02 11:08:38
1.1K0
发布2019-04-02 11:08:38
举报
文章被收录于专栏:波波烤鸭波波烤鸭

  在前面分析的基础上我们来继续看下认证的过程


Shiro认证过程的源码

认证过程的时序图

在这里插入图片描述
在这里插入图片描述

源码跟踪

1.DelegatingSubject类中的login 方法

2.DefaultSecurityManager类的login方法

3.AuthenticatingSecurityManager类中authenticate方法

4.AbstractAuthenticator类中的authenticate方法

5.ModularRealmAuthenticator类中的doAuthenticate方法

doSingleRealmAuthentication方法

6.AuthenticatingRealm类中的getAuthenticationInfo方法

7.SimpleAccountRealm类中执行doGetAuthenticationInfo方法

8.CredentialsMatcher中密码验证

至此整个过程结束

总结

  1. 如果没有自定义Realm那么默认的是SimpleAccountRealm
  2. 账号验证和密码验证是分开的,先验证账号如果为null直接抛UnknownAccountException异常,
  3. 如果账号存在则验证密码是否匹配,如果不匹配则会抛IncorrectCredentialsException异常。
  4. 2,3步如果都没有抛异常那么说明认证成功,后续会完成subject的创建及session的设置,以及认证成功后的初始化操作。
  5. 如果我们需要自定义Realm那么继承AuthorizingRealm即可。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年03月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Shiro认证过程的源码
    • 认证过程的时序图
      • 源码跟踪
      • 总结
      相关产品与服务
      访问管理
      访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档