五 SpringSecurity實現記住我功能

2021-09-26 08:14:54 字數 1847 閱讀 9474

頁面登入時新增記住我選項

配置:

jdbctokenrepositoryimpl類中定義了建立表的語句,可以拷貝出來去資料庫執行

登陸,並勾選記住我,這裡我們配置的過期時間是30s

登陸成功,可以看到cookie中多了remember-me欄位的資訊,檢視資料庫剛才建好的表:

重啟服務,直接訪問資料,成功獲取,並不需要再次登陸,當cookie中remember-me過期消失之後,再次重啟服務,訪問就需要登陸

再登入成功時,執行成功處理器之前會執行:remembermeservices.loginsuccess()

將token存入資料庫,同時寫入cookie

登陸成功之後,重啟服務,直接訪問資料介面,進入remembermeauthenticationfilter,先判斷securitycontext中是否有認證過的資訊,由於沒有登陸不存在authentication,所以就執行下面的remembermeservices.autologin()

接下來進入到persistenttokenbasedremembermeservices

在這裡獲取cookie中的token資訊,使用token中的series,呼叫tokenrepository.gettokenforseries()去資料查詢響應的token,最後根據查詢到的token,獲取到使用者名稱,執行loaduserbyusername()方法,登陸成功後,回到remembermeauthenticationfilter

將使用者資訊存到session,自動登陸成功

spring security 安全框架

本文 http itblood.com spring security security framework.html 安全常識 acegi介紹 以宣告式方式為基於spring的web應用新增認證和授權控制 acegi體系結構 認證管理器 訪問控制管理器。認證 authenticationproce...

SpringSecurity認證流程

在之前的文章 springboot spring security 基本使用及個性化登入配置 中對springsecurity進行了簡單的使用介紹,基本上都是對於介面的介紹以及功能的實現。這一篇文章嘗試從原始碼的角度來上對使用者認證流程做乙個簡單的分析。在具體分析之前,我們可以先看看springse...

SpringSecurity使用技巧

1 鑑權處理頁通常包括四個方面的設定,分別是鑑權失敗 鑑權成功 未鑑權訪問 已鑑權但訪問了受保護許可權。如何自 定義這四類處理。鑑權失敗的預設處理頁面是 spring security login?login error 其預設處理類為 urlauthenticationfailurehandler...