Shiro的Session管理機制與實現原理

 

SessionDAO最頂層的類,定義了持久化Session的標準但沒有做任何實現;

AbstractSessionDAO提供了SessionDAO的基礎實現,如生成會話ID等;

CachingSessionDAO提供了對開發者透明的Session緩存的功能,只需要設置相應的 CacheManager 即可;

注:需要特別說明的是,CachingSessionDAO僅是提供了緩存功能,但並沒有實現緩存功能,具體的緩存功能和緩存方案還需要由子類來完成。

MemorySessionDAO直接在內存中進行Session維護,存儲結構是ConcurrentHashMap,項目中基本用不到;

EnterpriseCacheSessionDAO提供了緩存功能的Session維護,在構造器中設置了默認的緩存管理器(AbstractCacheManager)和默認的緩存實例(MapCache)內部使用ConcurrentHashMap保存緩存的會話,僅只是簡單的提供了緩存實現,但沒有實現Session持久化,持久化留給子類實現;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章