這一定是一個普遍的問題......我覺得在Google使用Google之後,我一定沒有徹底地回過頭來看看答案是否足夠,或者沒有人問過它......所以請原諒我。如何在Hibernate中更新後重新加載Spring Security Principal?
我使用的Spring Security和Hibernate等
因此用戶/委託人登錄,並做了一些修改他們的個人資料。
我使用我的DAO更新配置文件(UserDetails),並且我希望我的Principal能夠自動反映此更新。
但是,當我再次得到委託人時,我得到髒版本(從我的初始登錄)。
有誰知道我如何讓Spring Security從Hibernate中重新加載更新的UserDetails?
好的我發現了一些能夠幫助我的東西http://stackoverflow.com/questions/2398224/spring-security-autowire-providermanager 讓獲取提供者管理器允許我重新驗證。 現在問題似乎是,新的Principal具有所有外圍引用延遲初始化,導致它進一步拋出異常 – alwinc
這實際上更多的是Hibernate/ORM策略問題,而不是Spring安全問題,儘管... 對? –
是的,我對它進行了更多的研究,看起來Spring Sec使得UserDetails可以出於安全考慮而具有免疫力。因此,最佳做法是通過強制用戶重新輸入密碼來重新登錄用戶詳細信息。 – alwinc