Насколько мне известно, для этого нет метода setusername.
Имейте в виду, что это решение не проверено, оно может работать или не работать.
Итак, сначала clearcontext.Затем создайте новый пустой контекст и установите для вновь созданного объекта аутентификации обновленное имя пользователя и всю необходимую ДРУГУЮ ИНФОРМАЦИЮ.
- @ 'newusername', вам следует установить новую обновленную строку имени пользователя или свой объект customuserdetails с помощьюновое обновленное имя пользователя и другая информация.
Authentication oldAuthenticationObject = SecurityContextHolder.getContext().getAuthentication();
SecurityContextHolder.clearContext();
SecurityContext context = SecurityContextHolder.createEmptyContext();
UsernamePasswordAuthenticationToken authentication =
new UsernamePasswordAuthenticationToken(
NEWUSERNAME,
null,
oldAuthenticationObject.getAuthorities());
context.setAuthentication(authentication);
SecurityContextHolder.setContext(context);