當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringSecurity remember功能持久化token信息
生活随笔
收集整理的這篇文章主要介紹了
SpringSecurity remember功能持久化token信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
remember me安全性分析
記住我功能方便是大家看得見的,但是安全性卻令人擔憂。因為Cookie畢竟是保存在客戶端的,很容易盜取,而且 Cookie的值還與用戶名、密碼這些敏感數據相關,雖然加密了,但是將敏感信息存在客戶端,還是不太安全。那么 這就要提醒喜歡使用此功能的,用完網站要及時手動退出登錄,清空認證信息。
此外,SpringSecurity還提供了remember me的另一種相對更安全的實現機制 :在客戶端的cookie中,僅保存一個 無意義的加密串(與用戶名、密碼等敏感數據無關),然后在db中保存該加密串-用戶信息的對應關系,自動登錄 時,用cookie中的加密串,到db中驗證,如果通過,自動登錄才算通過。
持久化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然后將spring-security.xml中 改為:
<!-- 開啟remember me過濾器, data-source-ref="dataSource" 指定數據庫連接池 token-validity-seconds="60" 設置token存儲時間為60秒 可省略 remember-me-parameter="remember-me" 指定記住的參數名 可省略 --> <security:remember-me data-source-ref="dataSource" token-validity-seconds="60" remember-me-parameter="remember-me"/>最后測試發現數據庫中自動多了一條記錄:
總結
以上是生活随笔為你收集整理的SpringSecurity remember功能持久化token信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringSecurity 认证通过后
- 下一篇: SpringSecurity分布式整合之