Realmente me pregunto si hay una forma de personalizar un mensaje en SESSION_EXPIRED_STATUS de WebSocketRegistryListener . La implementación predeterminada es la siguiente:
static final CloseStatus SESSION_EXPIRED_STATUS = new CloseStatus( CloseStatus.POLICY_VIOLATION.getCode(), "This connection was established under an authenticated HTTP Session that has expired");Los mecanismos Spring Security y Spring Session son:
WebSocketRegistryListener captura SessionDestroyedEvent y cierra todas las sesiones websocket para la sesión http previamente destruida (con estado de cierre SESSION_EXPIRED_STATUS ) Entonces, en mi aplicación debo personalizar dicho comportamiento, porque no solo el usuario puede invalidar su sesión, sino que también el administrador puede hacerlo. O la sesión puede ser invalidada por el tiempo de espera. Y para cada caso debo enviar mensajes con diferentes motivos. ¿Alguien me puede ayudar? Encontré WebSocketSessionDecorator con close(CloseStatus status) pero no sé agregarlo a la lista de decoradores para websockets.