necesito invalidar (o patear) la sesión del usuario. la aplicación solo limita el inicio de sesión de usuario solo a un usuario por contenedor.Invalidar la sesión de seguridad del resorte
trato de llamar a removeSessionInformation desde el registro de la sesión, se hace para desbloquear el usuario. para que el otro usuario pueda iniciar sesión con el nombre de usuario de la sesión pateada.
pero SessionContextHolder en ese usuario que ha sido expulsado es todavía. por lo que todavía tienen la misma autoridad para acceder a la página protegida.
cómo invalidar o eliminar el principal de SessionContextHolder de la información de registro de sesión especificada?
ps: en mi aplicación anterior, doy una variable en UserDomain (UserDetails) que contienen HttpSession. y cuando necesitan patear al usuario, simplemente invalido HttpSession del UserDomain especificado. pero no sé cómo hacerlo en primavera (es más fácil eliminar el Principal de SessionContextHolder que HttpSession). la implementación es casi la misma que con SessionRegistryImpl en la primavera.
Esta respuesta es correcta, pero asegúrese de invalidar su sesión web. –
hi brian, creo que tu respuesta solo invalida (o elimina) 'SecurityContextHolder' de la sesión de usuario de la sesión actual. lo que necesito es eliminar el 'SecurityContextHolder' de otra sesión de usuario. ¿Podemos hacerlo en sping? –
esto no es para otros usuarios – z0mb1ek