我真的很想知道是否有办法在SESSION_EXPIRED_STATUS
WebSocketRegistryListener
中自定义邮件。默认实现如下:
static final CloseStatus SESSION_EXPIRED_STATUS = new CloseStatus(
CloseStatus.POLICY_VIOLATION.getCode(),
"This connection was established under an authenticated HTTP Session that has expired");
Spring Security和Spring Session机制是:
WebSocketRegistryListener
捕获SessionDestroyedEvent
并关闭之前销毁的http会话的所有websocket会话(关闭状态为SESSION_EXPIRED_STATUS
)所以,在我的应用程序中,我应该自定义这样的行为,因为不仅用户可以使他的会话无效,而且管理员也能够做到这一点。或者会话可以通过超时无效。对于每种情况,我都应该以不同的理由发送消息。有人能帮我吗?
我找到了WebSocketSessionDecorator
close(CloseStatus status)
,但我不知道将它添加到websockets的装饰器列表中。