Shiro中相关类的配置关系

断断续续地看Shiro的文档也有大概几个月的时间,明白了一些相关的概念,但始终有云雾缭绕的感觉。大概翻看了一圈网上的教程,同时也查了Shiro的JavaDoc,对于某些类的配置关系有了一些感觉,花点时间记录在此,也方便其他使用者。

 

首先给出一个简单的配置层次关系图:

SecurityManager

  - Realm

    - CredentialMatcher

     (PasswordMatcher)

     - DefaultPasswordService

      - HashService

 

以上这个层次关系图实际上想说明的是:上一级类中需要配置的字段大致上如何的一个关系,并不是一定要照上图中的类来使用,只是方便说明。

 

SecurityManger应当是Shiro配置的一个大框架了,多数接口调用也是通过他来进行的。

Realm在Shiro的官方文档中的解释是相当于DAO,即是获得用户数据的层级。如果你要对用户的权限进行控制,则实现org.apaceh.shiro.realm.AuthorizingRealm是比较方便的,仅需要实现doGetAuthenticationInfo和doGetAuthorizationInfo两个方法即可。

CredentialMatcher用于进行凭证的配置,这个凭证不仅仅是指密码,因为Shiro还支持其他的凭证介质。一般情况下,网站使用的是用户名及密码进行验证用户,故此处用密码来进行解说。

CredentialMatcher内部会调用相关的passwordService会委托相应的hashService对密码进行hash。

 

此处仅对这个关系图进行简略的说明,其他相关类的说明将在其他文章中进行详细说明。

posted @ 2018-07-05 16:54  orange_ven  阅读(387)  评论(0)    收藏  举报