Spring Websocket:如何自定义会话断开消息?

时间:2017-04-06 07:36:13

标签: spring spring-mvc spring-websocket spring-session

我真的很想知道是否有办法在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机制是:

  1. 用户注销
  2. 会话存储库中的相应会话无效
  3. WebSocketRegistryListener捕获SessionDestroyedEvent并关闭之前销毁的http会话的所有websocket会话(关闭状态为SESSION_EXPIRED_STATUS
  4. 所以,在我的应用程序中,我应该自定义这样的行为,因为不仅用户可以使他的会话无效,而且管理员也能够做到这一点。或者会话可以通过超时无效。对于每种情况,我都应该以不同的理由发送消息。有人能帮我吗? 我找到了WebSocketSessionDecorator close(CloseStatus status),但我不知道将它添加到websockets的装饰器列表中。

0 个答案:

没有答案