手机短信登录、邮箱登录、QQ 登录都想要,咋办?
@[toc] 今天想和大家聊一聊 Shiro 中的多 Realm 认证策略问题~ 在项目中,如果我们想手机验证码登录、第三方 QQ 登录、邮箱登录等多种登录方式共存,那么就可以考虑通过 Shiro 中的多 Realm 来实现,具体操作中,一个 Realm 刚好就对应一种登录方式。 多 Realm 登录的用法并不难,松哥之前也专门发过相关的文章和大家分享,传送门: 其实我不仅会 Spring Security,Shiro 也略懂一二! 今天我不想聊用法,主要是想和大家聊一聊这里相关的源码。因此本文需要大家有一定的 Shiro 使用经验,若无,可以参考上面的链接恶补一下。 1. ModularRealmAuthenticator 1.1 Realm 去哪了? 我们配置的 Realm,可以直接配置给 SecurityManager,也可以配置给 SecurityManager 中的 ModularRealmAuthenticator。 如果我们是直接配置给 SecurityManager,那么在完成 Realm 的配置后,会自动调用 afterRealmsSet 方法,在该方法的中,会将我们...