亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何實現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

阿城市| 祁阳县| 西畴县| 杂多县| 三都| 嘉峪关市| 乌拉特中旗| 黄浦区| 兰溪市| 青浦区| 建平县| 通渭县| 株洲市| 武义县| 昌平区| 万盛区| 黄梅县| 井陉县| 德保县| 阿瓦提县| 尼木县| 弋阳县| 德钦县| 马鞍山市| 平罗县| 章丘市| 邵东县| 千阳县| 洛宁县| 玉树县| 东兴市| 吴川市| 黄平县| 荔浦县| 柘城县| 婺源县| 清流县| 股票| 元阳县| 资源县| 安陆市|