首頁  >  文章  >  Java  >  如何在Spring應用程式中檢索目前使用者?

如何在Spring應用程式中檢索目前使用者?

Linda Hamilton
Linda Hamilton原創
2024-11-06 10:18:02873瀏覽

How to Retrieve the Current User in Spring Applications?

擷取活動使用者詳細資料

在控制器方法中存取目前經過驗證的使用者時,取得UserDetails 實作傳統上需要存取上下文並進行強制轉換User 物件的主體。

WebArgumentResolver 解決方案

為了更優雅的方法,請考慮實作一個 WebArgumentResolver,它負責解析使用自訂註解進行註解的 User 物件,例如@ActiveUser。此解析器可以根據註解的存在和方法參數的類型有條件地傳回使用者。

Spring 3.1 解:HandlerMethodArgumentResolver

如果使用 Spring 3.1 或之後,首選 HandlerMethodArgumentResolver。它支援檢查@ActiveUser註解,如果滿足條件則傳回使用者。

Spring Security 3.2解決方案:@AuthenticationPrincipal

Spring Security 3.2引入了@AuthenticationPrincipal註解,它允許將使用者物件直接注入到控制器方法中,從而直接注入控制器方法了流程。若要使用此註釋,請在 Spring 配置中註冊 AuthenticationPrincipalArgumentResolver。

對於舊版的 Spring Security:

如果使用早期版本的 Spring Security 或更喜歡自訂方法,考慮實作上述 WebArgumentResolver 解決方案。

以上是如何在Spring應用程式中檢索目前使用者?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn