【发布时间】:2011-12-14 22:27:54
【问题描述】:
这一定是一个普遍的问题......我觉得在谷歌搜索之后,我一定是没有彻底四处寻找答案,或者没有人问过它......所以请原谅我。
我正在使用 Spring Security 和 Hibernate 等。
因此,用户/负责人已登录并对其个人资料进行了一些更改。
我使用我的 DAO 更新个人资料 (UserDetails),我希望我的 Principal 自动反映此更新。
但是,当我再次获得 Principal 时,我获得了脏版本(从我的初始登录开始)。
有谁知道我如何让 Spring Security 从 Hibernate 重新加载更新后的 UserDetails?
【问题讨论】:
-
好的,我发现了一些对我有帮助的东西stackoverflow.com/questions/2398224/… 获取提供程序管理器允许我重新进行身份验证。现在的问题似乎是新的 Principal 已经初始化了所有外围引用,导致它进一步抛出异常
-
这实际上更像是一个 Hibernate / ORM 策略问题,而不是 Spring Security 问题……对吧?
-
是的,我对其进行了更多研究,出于安全原因,Spring Sec 似乎使 UserDetails 不受影响。因此,最佳做法是通过强制用户重新输入密码来重新登录用户详细信息。
标签: hibernate spring-security hibernate-generic-dao