分布式WebSocket - 5SprintBoot集成STOMP协议,session权限管理

Posted 叁滴水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式WebSocket - 5SprintBoot集成STOMP协议,session权限管理相关的知识,希望对你有一定的参考价值。


        SpringBoot在集成STOMP协议时,有些时候需要控制session的连接权限、订阅权限等。例如禁止某些用户连接,控制用户只能订阅自己的主题等。而且在这种场景权限的控制比较简单,一般情况下,可以使用拦截器,进行权限管理。

架构图

image-20210615142353037

  1. 客户端去业务系统进行认证授权,将授权信息存放redis。并且返回客户端token。
  2. 客户端收到token,携带token连接推送服务器。推送服务器判断token,有效则认证通过。

每个业务服务器的代码都基本一致,就不做展示,直接示例下第二步的代码。

服务端代码

配置拦截器

WebSocketConfig

package com.test.config

以上是关于分布式WebSocket - 5SprintBoot集成STOMP协议,session权限管理的主要内容,如果未能解决你的问题,请参考以下文章

分布式WebSocket集群解决方案

WebSocket 分布式集群怎么搞?

关于一个 websocket 多节点分布式问题的面试题

Redis解决websocket在分布式场景下session共享问题

WebSocket-bench分布式压测部署

分布式WebSocket - 5SprintBoot集成STOMP协议,session权限管理