我需要爲我的Spring Security的實現UserDetailsService
提供一個可選的附加參數。Spring Security - 如何爲UserDetailsService提供附加參數
作爲一個簡單的例子,假設我需要爲屬於用戶的寵物傳遞寵物ID。
並非所有用戶都有寵物,但如果他們這樣做,我的Person
類實現UserDetails
有一個寵物,需要登錄時檢索。
這是我試過到目前爲止:
How to pass an additional parameter with spring security login page
與接受答案的問題是,它覺得這是錯/漏了UserDetailsService
實施夫婦在HttpRequest
和HttpSession
意識。
其他方法我已經看了定製涉及AuthenticationDetails
和AuthenticationDetailsSource
,但這種感覺也錯,因爲UserDetailsService
似乎應該負責一個單一的東西(裝載用戶詳細信息),以及寵物將是那些部分用戶詳情。
我知道我可以得到這些方法之一工作,但他們不覺得乾淨。有沒有人想出解決這個問題的好方法?不尋找任何人爲我寫代碼,只是尋找一個通用的方法。
非常感謝!