Spring Security-检索当前尝试登录的用户的用户名

用户1291:

我需要实现一个PasswordEncoder生成加密密码的。这些盐是用户特定的(UUID),并存储在相应的User对象中。

因此,我需要User直接访问UserDetails包含引用对象。如果我有尝试登录的用户名,那么检索起来非常容易。

问题就在这里。我似乎无法掌握它。

至于SecurityContext而言,我们仍然在处理一个anonymousUser

我知道应该UsernamePasswordAuthenticationToken在某处撒谎,但是我不能注入它,因为它不是豆子。为了定义一个包含它的包装bean,我首先需要弄清楚在哪里可以找到它。

如何获得尝试登录的用户名?

非常感谢您的帮助。:)

(旁注:请不要建议我“不这样做”或迁移密码并开始使用a BCryptPasswordEncoder或类似的字词。这是我们将来非常希望在将来做的事情,但是暂时不允许。)

克里斯·汤普森(Chris Thompson):

您将无法单独完成此操作,PasswordEncoder因为抽象假定您只能使用纯文本密码(或使用哈希密码进行比较)对密码进行编码。但是,如果您使用自定义AuthenticationProvider(称为PasswordEncoder),则可以访问Authentication包含用户名的传入对象。更多信息在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

尽管用户名和密码正确,Spring Security登录仍失败

Spring Security OAuth2:在REST Web服务中获取用户名

Spring-Security:升级到Spring-Security 4.1后,用户名发送为空以进行登录

使用Spring Security时,在bean中获取当前用户名(即SecurityContext)信息的正确方法是什么?

如何使用Spring Security从登录失败中获取用户名?

Spring Security 3-如何自定义用户名/密码参数?

Spring Security中的用户名密码认证

使用Spring Security时获取当前登录的用户名

从Spring Security中的文件读取用户名/密码

Spring Security用户按用户名查询id_user

在Spring Security中仅使用用户名登录

Spring Security不返回UserDetails对象,仅返回用户名

Spring Security只允许访问具有特定用户名的用户

使用Apache CXF 2.4 JAX-RS和Spring Security 3.2获取用户名

为什么这个Spring Security实现只检查密码而不检查用户名?

Spring Security中如何通过电子邮件而不是用户名登录

如何在Spring Security身份验证登录中让用户输入用户名和密码的值

Spring Security-使用用户名验证用户身份

Spring Security在拦截后恢复用户名

Spring Security无法检索当前已认证的用户

使用Spring Security恢复用户名和密码

Spring Boot,Spring Security,MySQL-CustomUserDetailsService始终导致错误“无效的用户名或密码”

Spring Security 4.X 无效的用户名

spring security 坏凭据区分无效的用户名或密码

如何在Spring security中通过电子邮件而不是用户名登录

如果在java spring security 中登录身份验证失败,如何获取anonymousUser 用户名?

如何使用spring-security通过用户名和密码登录?

Spring Security + REST 控制器 Post 方法不显示用户名

Spring Boot + Security loadByUserName 不传递用户名