中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Spring Security中如何動態更新已登錄用戶信息

發布時間:2021-12-02 15:35:12 來源:億速云 閱讀:1117 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關Spring Security中如何動態更新已登錄用戶信息,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

我和大家詳細分享了 Spring Security 的登錄流程,在登錄成功的最后一步,進入到 successfulAuthentication 回調中,在該回調方法中,小伙伴們看到了用戶信息的保存位置:

SecurityContextHolder.getContext().setAuthentication(authResult);
 

這樣一行簡單的保存代碼,至少帶給我們兩方面的信息:

  1. 以后在任何地方,只要想獲取用戶信息,只需要調用     SecurityContextHolder.getContext().getAuthentication() 就可以獲取到。
  2. 以后在任何地方,只要想更新用戶信息,只要調用     SecurityContextHolder.getContext().setAuthentication(authResult); 就可以更新。
 

1.獲取用戶登錄信息

用戶信息的獲取,其實辦法很多,上面提到的 SecurityContextHolder.getContext().getAuthentication() 是一個靜態方法,也就是利用這個方法,我們可以隨時隨地拿到用戶信息(需要注意 ThreadLocal 的限制)。

除了這種方式之外,我們也可以在 Controller 中的方法上,直接就可以注入 Authentication 對象,進而獲取到當前用戶信息,像下面這樣:

@GetMapping("/hr/info")
public Hr getCurrentHr(Authentication authentication) {
   return ((Hr) authentication.getPrincipal());
}
 

當然,關于用戶信息獲取的方式之前已經和大家聊過了,這里我就不再贅述,如果對如何獲取 Spring Security 中用戶信息還不熟悉,大家可以參考松哥之前的文章:松哥手把手帶你捋一遍 Spring Security 登錄流程

今天主要是想和大家聊一下如何修改用戶信息。

 

2.修改用戶登錄信息

在 Spring Security 中,當用戶登錄成功之后,如果前端提供了修改用戶信息的功能,在前端修改完用戶信息之后,存儲在 Spring Security 中的用戶信息也要及時修改,以防止在后面其他的請求中獲取到錯誤的用戶信息。

關于Spring Security中如何動態更新已登錄用戶信息就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

东兰县| 新化县| 万安县| 扬中市| 宜兴市| 封开县| 奇台县| 泉州市| 阆中市| 济阳县| 南乐县| 江陵县| 安顺市| 宜州市| 高安市| 含山县| 湘西| 乐山市| 弥渡县| 荆州市| 左云县| 永吉县| 筠连县| 阿城市| 百色市| 和龙市| 尼勒克县| 达州市| 阿坝| 唐河县| 益阳市| 阿勒泰市| 成武县| 凤冈县| 陵川县| 大田县| 井研县| 阳春市| 东兰县| 盐边县| 宁津县|