首页 > 解决方案 > Grails 4 和 Spring Security 4 - 如何更新用户名

问题描述

我有一个使用 Spring Security 插件的非常基本的 Grails 4 应用程序。我不明白如何让用户更改他的用户名然后重新进行身份验证。在我的应用程序中,用户名是电子邮件地址。所有的安全工作都很好。但是假设用户想在我的应用程序中更新他的电子邮件地址。

目前用户可以更新他的密码并且工作正常。设置新密码值(当然还有验证、检查、匹配,所有这些东西)并保存后,然后我打电话

springSecurityService.reauthenticate user.username

但是,在更新用户名时,我不能简单地更改用户对象上的用户名然后调用

springSecurityService.reauthenticate user.username

因为用户尚未使用新用户名进行身份验证,所以 reauthenticate 方法失败,说它找不到用户。

我想我可能在我的流程或其他东西中缺少一些基本的东西,并且会喜欢一些方向。

标签: javaspringgrailsspring-security

解决方案


推荐阅读