Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用持久登录进行Spring安全性重新验证_Spring_Grails_Spring Security_Grails 2.0_Grails Controller - Fatal编程技术网

使用持久登录进行Spring安全性重新验证

使用持久登录进行Spring安全性重新验证,spring,grails,spring-security,grails-2.0,grails-controller,Spring,Grails,Spring Security,Grails 2.0,Grails Controller,我正在使用GrailsSpringSecurity内核和持久登录。因此,用户的登录信息存储在我的数据库中。我的问题是以下情况: 用户登录后,其用户名将从x更改为y。这意味着我必须通过以下方式重新验证用户: springSecurityService.reauthenticate y rememberMeServices.loginSuccess(request, response, springSecurityService.authentication) 在我的数据库中,持久令牌的用户名仍

我正在使用GrailsSpringSecurity内核和持久登录。因此,用户的登录信息存储在我的数据库中。我的问题是以下情况:

用户登录后,其用户名将从x更改为y。这意味着我必须通过以下方式重新验证用户:

springSecurityService.reauthenticate y

rememberMeServices.loginSuccess(request, response, springSecurityService.authentication)

在我的数据库中,持久令牌的用户名仍然是x。如何使用新用户名y为持久令牌设置新条目?

您应该找到该用户的现有数据库条目。这可以通过用户名完成。然后,您可以使用rememberMeServices.loginsucess将新数据库条目设置为持久令牌。最后,您必须重新验证您的用户。

您是否尝试过用更新的用户名保存(并可能刷新)用户,然后重新验证?发生了什么?你能为此编写一些示例代码吗?更好的是,你能显示你在哪里更改用户名以及在哪里进行重新身份验证的代码。这是上面的代码,我更新了我的问题。用户名更改是简单的user.Username=y