2013-07-17 29 views
0

我正在使用具有持久登錄的Grails Spring Security Core。因此,用戶的登錄信息存儲在我的數據庫中。我的問題是以下情況:帶有持久登錄的Spring Security重新認證

用戶已登錄,他的用戶名將從x更改爲y。這意味着我必須重新進行身份驗證與用戶:

springSecurityService.reauthenticate y 

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

的持續令牌的用戶名仍然是X在我的數據庫。如何使用新用戶名y爲持久性令牌設置新條目?

+0

您是否嘗試使用更新的用戶名保存(並可能刷新)用戶,然後重新進行驗證?怎麼了? – ikumen

+0

你能寫一些示例代碼嗎? – confile

+0

更好,你可以顯示代碼,你正在做用戶名更改和你在做什麼重新認證。 – ikumen

回答

1

您應該找到該用戶的現有數據庫條目。這可以通過用戶名來完成。然後,您可以使用rememberMeServices.loginSuccess將新數據庫條目設置爲持久標記。最後,你必須重新認證你的用戶。