Spring Security深入淺出--7、單機session管理

項目地址:鏈接:https://pan.baidu.com/s/106lZU8P9gHG4A3aP4OpOgQ
提取碼:xs3v

在spring social中,一共是三種登陸方式

1、用戶名+密碼;2、手機號+短信登陸;3、社交網站賬號登陸

這三種方式都是採用session管理登陸的。

所以這篇文章我們講解一下session

配置session的超時時間(單位是秒,默認是60*30=半個小時)

現在雖然設置了,但是如果小於60s也會失效

查看類TomcatEmbeddedServletContainerFactory

獲得我們設置的秒數,然後轉換成分鐘數,然後進行比較,如果小於一分鐘則使用一分鐘

失效以後,服務器是不知道到底是因爲沒有登錄還是session失效導致的,所以我們需要自己寫邏輯

配置上過期失效跳轉的地址

配置映射 處理

授權

 啓動,測試

現在要處理的就是現在登錄的session踢掉之前登陸的session

設置爲1,也及時服務器這邊一直只有一個session,也就是現在登錄的session踢掉之前登陸的session

對於過期session的具體處理

重啓服務器,分別用谷歌和火狐瀏覽器登陸

如果你登陸成功之後,不希望第二個用戶把你踢下去,而是他不能登陸,設置爲true(當session達到最大數量之後,阻止後面的用戶登陸)

 現在都是返回的json數據,現在我們重構,使得在需要返回json的時候,返回json數據,在需要返回頁面的時候返回html頁面

需要的參數都放到SessionProperties類中

判斷邏輯

爲什麼使用@ConditionalOnMissingBean(SessionInformationExpiredStrategy.class)註解,方便我們寫,只要我們重寫SessionInformationExpiredStrategy接口,在注入到bean中就可以實現我們自己的bean

失效頁面

發佈了483 篇原創文章 · 獲贊 104 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章