我需要实现一个PasswordEncoder
生成加密密码的。这些盐是用户特定的(UUID),并存储在相应的User
对象中。
因此,我需要User
直接访问UserDetails
包含引用的对象。如果我有尝试登录的用户名,那么检索起来非常容易。
问题就在这里。我似乎无法掌握它。
至于SecurityContext
而言,我们仍然在处理一个anonymousUser
。
我知道应该UsernamePasswordAuthenticationToken
在某处撒谎,但是我不能注入它,因为它不是豆子。为了定义一个包含它的包装bean,我首先需要弄清楚在哪里可以找到它。
如何获得尝试登录的用户名?
非常感谢您的帮助。:)
(旁注:请不要建议我“不这样做”或迁移密码并开始使用a BCryptPasswordEncoder
或类似的字词。这是我们将来非常希望在将来做的事情,但是暂时不允许。)
您将无法单独完成此操作,PasswordEncoder
因为抽象假定您只能使用纯文本密码(或使用哈希密码进行比较)对密码进行编码。但是,如果您使用自定义AuthenticationProvider
(称为PasswordEncoder
),则可以访问Authentication
包含用户名的传入对象。更多信息在这里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句