shiro的SecurityManager源码解析

1Authenticator接口:

认证的接口,包含一个认证的方法,接受AuthenticationToken参数,返回AuthenticationInfo

2Authorizer接口:

授权的接口,判断是否具有权限,角色等操作。

3SessionManager接口:

session管理的接口。

4CachingSecurityManager 抽象类:

只是实现了Destroyable、CacheManagerAware、EventBusAware的接口功能。以上三个接口未在此实现。

5RealmSecurityManager 抽象类:

实现了Realm对象的设置,一次性设置一个或者多个Realm,设置完成后并将其加入CacheManager和EventBus中,以上三个接口未在此实现。

6AuthenticatingSecurityManager抽象类:

认证安全管理类,此抽象类型实现了Authenticator接口,但将认证功能委派给了Authenticator接口的实现类ModularRealmAuthenticator。 可以通过设置自定义的ModularRealmAuthenticator来使用自定义的认证规则。

7ModularRealmAuthenticator

具体的认证执行者,包含两个属性,一是realms,认证使用的域。二是authenticationStrategy认证的策略,默认为AtLeastOneSuccessfulStrategy。

8AuthorizingSecurityManager 抽象类:

与认证类相同,实现了授权的接口,但将授权的功能委派给了Authorizer接口实现类ModularRealmAuthorizer。

9SessionsSecurityManager抽象类:

设置了默认的sessionManager为DefaultSessionManager,但未在此类中实现SessionManager接口

10DefaultSecurityManager

默认的实现类,SessionManager接口在此得以实现主要对Subject的管理,session的管理,remenberme的操作。

11DefaultWebSecurityManager

基于web的默认SecurityManager。

 

posted @ 2019-03-07 17:15  长途跋涉的孤狼  阅读(887)  评论(0编辑  收藏  举报