【发布时间】:2020-07-25 04:33:09
【问题描述】:
我一直关注this 以供参考。我正在开发一个具有经过身份验证的用户的 spring-boot 应用程序。登录后,用户将通过访问特定 URL 来订阅事件。
这个 spring-boot 应用程序也将支持 MQTT(或者可能只是 HTTP 请求),其中将发送特定用户的信息。如果用户已订阅,我想然后使用 Web Flux/SSE 向用户显示此发送的信息。
许多用户可以在任何给定时间登录,并且他们都订阅了更新。如何管理每个登录用户的所有不同接收器?
我相信在访问经过身份验证的 URL 时可以获得当前用户,但是有什么方法可以存储每个登录用户的所有接收器?
我很感激。
【问题讨论】:
-
您可以使用一个接收器,然后为每个用户订阅多次。
-
当我收到一个用户的数据时,它只针对一个用户。当我调用 sink.next 推送数据时,我如何指定哪个用户正在获取它?许多用户将被订阅。
-
您可以使用过滤器,将您的条件放入其中
-
我正在努力跟进。我知道我可以使用 Java 8 过滤器,但我会过滤什么?我获得的 MQTT 或 HTTP 数据将针对特定主题/id,因此我可以确定它属于哪个用户。但是,我可以向过滤器添加什么参数,以便我知道消息将发送给正确的用户?
标签: spring spring-boot spring-security spring-webflux server-sent-events