#java #spring #grails #spring-security
#java #весна #граали #spring-безопасность
Вопрос:
У меня есть довольно простое приложение Grails 4, которое использует плагин Spring Security. Я не понимаю, как позволить пользователю изменить свое имя пользователя, а затем повторно пройти проверку подлинности. В моем приложении имя пользователя — это адрес электронной почты. Вся система безопасности работает нормально. Но допустим, пользователь хочет обновить свой адрес электронной почты в моем приложении.
В настоящее время пользователь может обновить свой пароль, и это работает нормально. После того, как новое значение пароля установлено (и, конечно же, проверено, проверено, сопоставлено и все такое прочее) и сохранено, я вызываю
springSecurityService.reauthenticate user.username
Однако при обновлении имени пользователя я не могу просто изменить имя пользователя в объекте user, а затем вызвать
springSecurityService.reauthenticate user.username
поскольку пользователь еще не прошел аутентификацию с новым именем пользователя, поэтому метод повторной аутентификации завершается с ошибкой, сообщая, что он не может найти пользователя.
Я думаю, что я, вероятно, упускаю что-то основное в моем потоке процессов или что-то в этом роде, и мне хотелось бы получить какое-то направление.
Комментарии:
1. это простой способ просто завершить сеанс пользователя и позволить ему снова войти в систему. Это более или менее стандартный подход, который идет рука об руку с проверкой вновь введенной электронной почты
2. @injecteer Мне нравится этот ответ. Я буду считать это решенным.