hibernate - generic - spring boot dao
¿Cómo volver a cargar Spring Security Principal después de actualizar en Hibernate? (1)
Este debe ser un problema común ... y creo que después de buscar en Google, y SOing no debí haber mirado atentamente la respuesta o no1, así que por favor, perdónenme.
Estoy usando Spring Security con Hibernate, etc.
Por lo tanto, un Usuario / principal ha iniciado sesión e hizo algunos cambios en su perfil.
Uso mi DAO para actualizar el perfil (UserDetails), y quiero que mi Principal refleje automáticamente esta actualización.
Sin embargo, cuando vuelvo a obtener el Director, obtengo la versión sucia (de mi inicio de sesión inicial).
¿Alguien sabe cómo puedo hacer que Spring Security recargue de Hibernate los UserDetails actualizados?
OK cavó y finalmente encontró la respuesta.
Podemos crear un UsernamePasswordAuthenticationToken y asignar el Principal actualizado al contexto.
Authentication authentication = new UsernamePasswordAuthenticationToken(userObject, userObject.getPassword(), userObject.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
Consulte también " Cómo configurar manualmente un usuario autenticado en Spring Security / SpringMVC ".