0

Grails Spring Security Core with Persistent Logins를 사용하고 있습니다. 따라서 사용자의 로그인 정보는 내 데이터베이스에 저장됩니다. 내 문제는 다음과 같은 경우입니다.스프링 보안 재 인증 (영구 로그인 사용)

사용자가 로그인되어 있으며 사용자 이름이 x에서 y로 변경됩니다. 즉, 사용자를 다음과 같이 다시 인증해야 함을 의미합니다.

springSecurityService.reauthenticate y 

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

내 데이터베이스에 영구 토큰의 사용자 이름은 x로 유지됩니다. 어떻게 새 사용자 이름 y로 영구 토큰에 대한 새 항목을 설정할 수 있습니까?

+0

업데이트 된 사용자 이름으로 사용자를 저장 (및 플러시)했는데 다시 인증을 시도 했습니까? 무슨 일이야? – ikumen

+0

샘플 코드를 작성할 수 있습니까? – confile

+0

더 나은 점은 사용자 이름을 변경하는 위치와 재 인증을 수행하는 위치의 코드를 표시 할 수 있습니다. – ikumen

답변

1

사용자의 기존 데이터베이스 항목을 찾아야합니다. 이것은 사용자 이름으로 할 수 있습니다. 그런 다음 rememberMeServices.loginSuccess를 사용하여 새 데이터베이스 항목을 영구 토큰으로 설정할 수 있습니다. 마지막으로, 사용자를 다시 인증해야합니다.