鍍金池/ 問答/人工智能  Java  Linux/ shiro中的sessionDAO 和 cacheManager需要同時設置嗎?

shiro中的sessionDAO 和 cacheManager需要同時設置嗎?

最近用springboot整合shiro 用redis作為shiro的session緩存容器,百度了shiro資料 大多數網友都是如出一轍的在SecurityManager 中配置了 cacheManager 和 sessionDAO,帶著疑問查看了源碼,發(fā)現(xiàn)shiro的session的存儲只需要繼承AbstractSessionDAO 實現(xiàn)其中的抽象方法 采用redis保存session,所以就很疑問 為啥還要實現(xiàn)CacheManager接口, 然后再SecurityManager配置一個cacheManager,這是不是多余的,根本沒有用到呀,不知道我理解的對不對,請大神清楚的 告知一下,在此多謝?。?!

clipboard.png

回答
編輯回答
妖妖

CacheManager是CacheManager
SessionDAO是SessionDAO
兩者的職責不一樣

SessionDAO可以實現(xiàn)有緩存的,也可以實現(xiàn)沒有的

對于你的問題
想Session存于Redis,自然實現(xiàn)Redis的SessionDAO就行
而CacheManager不僅僅用于CachingSessionDAO,還有CachingRealm

2017年1月7日 03:17