美文网首页
应该在自定义Realm的doGetAuthenticationI

应该在自定义Realm的doGetAuthenticationI

作者: JooYip | 来源:发表于2017-08-22 18:27 被阅读0次

    学习的时候在自定义的Realm的doGetAuthenticationInfo方法中显示根据token查询user信息,然后对身份信息进行了username,password验证,但是看公司的项目中并没有进行特别的验证,只是判断了一下user是否为空,然后直接封装了SimpleAuthenticationInfo。觉得很奇怪。

    查看shiro源码才知道:

    首先在进入自定义Realm之前,会经过AuthenticatingRealm这个类的getAuthenticationInfo方法

    getAuthenticationInfo

    在assertCredentialsMatch中如果不匹配会抛出异常,而经过上级各种的捕获,最后会返回false。

    所以在自定义的Realm中的doGetAuthenticationInfo方法中我们只需要根据token进行查询然后检查下是否为空以及其他自定义的条件,最后封装成SimpleAuthenticationInfo返回就行了。

    相关文章

      网友评论

          本文标题:应该在自定义Realm的doGetAuthenticationI

          本文链接:https://www.haomeiwen.com/subject/utnldxtx.html