Shiro 的快取與RememberMe記住我

2021-10-07 05:34:05 字數 922 閱讀 9339

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...