91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現SpringSecurity rememberme功能

發布時間:2021-05-23 16:36:01 來源:億速云 閱讀:372 作者:小新 欄目:編程語言

小編給大家分享一下如何實現SpringSecurity rememberme功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

功能原理分析

如何實現SpringSecurity rememberme功能

現在繼續跟蹤找到AbstractRememberMeServices對象的loginSuccess方法:

如何實現SpringSecurity rememberme功能

再點進去上面if判斷中的rememberMeRequested方法,還在當前類中:

如何實現SpringSecurity rememberme功能

如果上面方法返回true,就表示頁面勾選了記住我選項了。

繼續順著調用的方法找到PersistentTokenBasedRememberMeServices的onLoginSuccess方法:

如何實現SpringSecurity rememberme功能

注意name和value屬性的值不要寫錯哦!

如何實現SpringSecurity rememberme功能

先測試一下,認證通過后,關掉瀏覽器,再次打開頁面,發現還要認證!為什么沒有起作用呢?
這是因為remember me功能使用的過濾器RememberMeAuthenticationFilter默認是不開啟的!

開啟remember me過濾器

<security:remember-me token-validity-seconds="60"></security:remember-me>

說明:RememberMeAuthenticationFilter中功能非常簡單,會在打開瀏覽器時,自動判斷是否認證,如果沒有則
調用autoLogin進行自動認證。

如何實現SpringSecurity rememberme功能

remember me 安全性分析

記住我功能方便是大家看得見的,但是安全性卻令人擔憂。因為 Cookie畢竟是保存在客戶端的,很容易盜取,而且
cookie的值還與用戶名、密碼這些敏感數據相關,雖然加密了,但是將敏感信息存在客戶端,還是不太安全。那么
這就要提醒喜歡使用此功能的,用完網站要及時手動退出登錄,清空認證信息。

此外,SpringSecurity還提供了remember me的另一種相對更安全的實現機制 :在客戶端的cookie中,僅保存一個
無意義的加密串(與用戶名、密碼等敏感數據無關),然后在db中保存該加密串-用戶信息的對應關系,自動登錄
時,用cookie中的加密串,到db中驗證,如果通過,自動登錄才算通過。

持久化remember me信息

創建一張表,注意這張表的名稱和字段都是固定的,不要修改。

 <security:remember-me token-validity-seconds="60"
               data-source-ref="dataSource"
     remember-me-parameter="remember-me"></security:remember-me>
CREATE TABLE `persistent_logins` (
`username` varchar(64) NOT NULL,
`series` varchar(64) NOT NULL,
`token` varchar(64) NOT NULL,
`last_used` timestamp NOT NULL,
PRIMARY KEY (`series`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

如何實現SpringSecurity rememberme功能

以上是“如何實現SpringSecurity rememberme功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临安市| 正蓝旗| 金坛市| 观塘区| 定西市| 扎赉特旗| 缙云县| 环江| 兴仁县| 建宁县| 秭归县| 宜都市| 阿克| 罗城| 松溪县| 金昌市| 遵义市| 文水县| 华宁县| 浙江省| 钟祥市| 拉孜县| 深州市| 平昌县| 那曲县| 平湖市| 东方市| 柯坪县| 新宾| 武穴市| 云南省| 丹巴县| 濉溪县| 普兰店市| 绥江县| 葵青区| 越西县| 合川市| 大渡口区| 清涧县| 安丘市|