作者:whisper
链接:http://proprogrammar.com:443/article/114
声明:请尊重原作者的劳动,如需转载请注明出处
CacheManagerAware 接口
Shiro 内部相应的组件(DefaultSecurityManager)会自动检测相应的对象(如Realm)是否实现了CacheManagerAware 并自动注入相应的CacheManager。
Realm 缓存
Shiro 提供了 CachingRealm,其实现了CacheManagerAware 接口,提供了缓存的一些基础实现;
AuthenticatingRealm 及 AuthorizingRealm 也分别提供了对AuthenticationInfo 和 AuthorizationInfo 信息的缓存(最终实现了CacheManagerAware 接口)。
Session 缓存
如 SecurityManager 实现了 SessionSecurityManager,其会判断 SessionManager 是否实现了CacheManagerAware 接口,如果实现了会把CacheManager 设置给它。
SessionManager 也会判断相应的 SessionDAO(如继承自CachingSessionDAO)是否实现了CacheManagerAware,如果实现了会把 CacheManager设置给它。
设置了缓存的 SessionManager,查询时会先查缓存,如果找不到才查数据库。
cacheManager的配置示例
亲爱的读者:有时间可以点赞评论一下
全部评论