cachemanageraware 介面
shiro 內部相應的元件(defaultsecuritymanager)會自動檢測相應的物件(如realm)是否實現了cachemanageraware 並自動注入相應的cachemanager。
realm 快取
session 快取
rememberme 記住我
首先在登入頁面選中 rememberme 然後登入成功;如果是瀏覽器登入,一般會把 rememberme 的cookie 寫到客戶端並儲存下來;
關閉瀏覽器再重新開啟;會發現瀏覽器還是記住你的;
訪問一般的網頁伺服器端還是知道你是誰,且能正常訪問;
但是比如我們訪問**時,如果要檢視我的訂單或進行支付時,此時還是需要再進行身份認證的,以確保當前使用者還是你。
認證和記住我的區別
使用上的區別與建議
案例實現
如果要自己做rememeberme,需要在登入之前這樣建立token:usernamepasswordtoken(使用者名稱,密碼,是否記住我),且呼叫usernamepasswordtoken 的:token.setrememberme(true); 方法
在handler當中直接設定使用rememberme為true,或者在前端頁面當中使用乙個核取方塊,將值傳遞過來。
使用rememberme之後需要在配置檔案當中新增時長的控制l:如下所示,為10秒鐘
執行專案:在第一次登入之後關閉頁面,在10秒之內再一次訪問這個list介面是不再需要進行登入認證的,而10秒鐘之後,快取失效,再進行訪問則需要進行再登入。
Shiro學習筆記(6) shiro快取
每一次給使用者授權時,都是通過realm從資料庫中查詢許可權,為了避免頻繁的查詢資料庫,shiro給我們提供了快取的能力 使用者認證通過後 第一次授權 通過realm從資料庫中查詢 第二次授權 直接從快取中查詢 引入包 1.shiro ehcache.jar 2.ehcache core.jar 在...
Shiro學習筆記(6) shiro快取
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!每一次給使用者授權時,都是通過realm從資料庫中查詢許可權,為了避免頻繁的查詢資料庫,shiro給我們提供了快取的能力 使用者認證通過後 第一次授權 通過realm從資料庫中查詢 第二次授權 直接從快取中查詢 引入包 1.shiro ehcach...
Shiro 使用EhCache快取
在shiro中加入快取可以使許可權相關操作盡可能快,避免頻繁訪問資料庫獲取許可權資訊,因為對於乙個使用者來說,其許可權在短時間內基本是不會變化的。這對資料庫來說是沒必要的消耗。接下來使用快取來解決這個問題。引入ehcache的相關依賴 org.apache.shiro shiro ehcache 1...