关于shrio的执行流程之登录身份认证
关于shrio的登录身份认证 简单解析
1.登录的身份认证
当你百度的时候 会告诉你:当你在执行这一步的时候
就会走到AuthorizingRealm;
{ps:UserRealm是这部分源码(源码是ruoyi:https://gitee.com/y_project/RuoYi.git)
自定义的用户权限类}
对于不喜欢看源码的同学到这里就可以停止阅读了 实际上就是subject.login() 就会调用我们自定义的Realm内部的重写方法doGetAuthenticationInfo;
那么为什么会走到这里调用我们自定义的realm;
当我们subject.login(); 会委托SeacurityManager.login();
然后在源码里浅入:
通过查看源码可以看到 ModularRealmAuthenticator.class 中的 doAuthenticate
即可以看到如果有一个Realm 使用的是 doSingleRealmAuthentication(realms.iterator().next(), authenticationToken);
也就是说我们可以配置多个realm;这里我就不多BB了我们主要是简单阅读一下执行流程 所以简单带过/xyx
我们继续看单体realm:
就会调用重写方法
登录的一个身份认证的流程大概就历经了这些;
本人菜鸡!!如果有什么地方理解错了,希望五湖四海的大佬给予指点