回覆列表
  • 1 # 使用者9069971747367

    在Shiro中為會話啟用Ehcache是非常容易的。首先,確保在你的classpath 中有shiro-ehcache-

    然後,在shiro.ini中配置EHCache為所有Shiro 的快取提供使用:

    [main]

    sessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO

    securityManager.sessionManager.sessionDAO = $sessionDAO

    cacheManager = org.apache.shiro.cache.ehcache.EhcacheManager

    securityManager.cacheManager = $cacheManager

    最後一行,securityManager.cacheManager = $cacheManager,為所有Shiro 的元件配置了一個CacheManager。該CacheManager 例項會自動地直接傳送到SessionDAO(透過EnterpriseCacheSessionDAO 實現CacheManagerAware 介面的性質)。

    然後,當SessionManager 要求EnterpriseCacheSessionDAO 去持久化一個Session 時,它使用一個EHCache 支援的Cache實現去儲存Session 資料。

    EHCache Session Cache Configuration

    預設地,EhCacheManager 使用一個Shiro 特定的ehcache.xml 檔案來建立Session 快取區以及確保Sessions 正常存取的必要設定。

    然而,如果你想改變快取設定,或想配置你自己的ehcache.xml 或EHCache net.sf.ehcache.CacheManager 例項,你需要配置快取區來確保Sessions 被正確地處理。

    如果你檢視預設的ehcache.xml 檔案,你會看到接下來的shiro-activeSessionCache 快取配置:

  • 中秋節和大豐收的關聯?
  • 單反怎麼才能拍攝出非常美麗的星空?