Shiro的Session管理机制与实现原理

Shiro的Session管理机制与实现原理_第1张图片

 

SessionDAO最顶层的类,定义了持久化Session的标准但没有做任何实现;

AbstractSessionDAO提供了SessionDAO的基础实现,如生成会话ID等;

CachingSessionDAO提供了对开发者透明的Session缓存的功能,只需要设置相应的 CacheManager 即可;

注:需要特别说明的是,CachingSessionDAO仅是提供了缓存功能,但并没有实现缓存功能,具体的缓存功能和缓存方案还需要由子类来完成。

MemorySessionDAO直接在内存中进行Session维护,存储结构是ConcurrentHashMap,项目中基本用不到;

EnterpriseCacheSessionDAO提供了缓存功能的Session维护,在构造器中设置了默认的缓存管理器(AbstractCacheManager)和默认的缓存实例(MapCache)内部使用ConcurrentHashMap保存缓存的会话,仅只是简单的提供了缓存实现,但没有实现Session持久化,持久化留给子类实现;

你可能感兴趣的:(Shiro,Spring)