Динамическая замена данных пользователя в SecurityContext
Я вошел в систему под именем [email protected], тогда с помощью
UsernamePasswordAuthenticationToken result = new UsernamePasswordAuthenticationToken(user.getEmail(), user.getPassword(), AuthorityUtils.createAuthorityList(user.getRoleUser().toString()));
SecurityContextHolder.getContext().setAuthentication(result);
сменил его на: [email protected].
Вопрос? Почему authentication.getUsername() выдает [email protected], а не [email protected] и как это исправить
@Autowired
@Qualifier(value = "sessionRegistry")
private SessionRegistry sReg;
for (Object principal : sReg.getAllPrincipals()) {
UserDetails authentication = (UserDetails) principal;
if (authentication.getUsername().equals(nameUser)) {
List<SessionInformation> userSessions = sReg.getAllSessions(principal, false);
for (SessionInformation sessInfo : userSessions)
sessInfo.expireNow();
}
}