【问题标题】:How to retrieve "simpSessionId" in spring boot controller?如何在 Spring Boot 控制器中检索“simpSessionId”?
【发布时间】:2020-08-22 18:09:14
【问题描述】:

前端:角度

后端:春季启动

我可以通过以下 EventListeners 获取 simpSessionId

  1. SessionConnectEvent(从浏览器启动应用时)
  2. SessionDisconnectEvent(当应用程序从浏览器关闭时)

连接 Stomp 会话后,我无法检索“simpSessionId”。

每当有来自 Angular 的 REST 调用时,我都需要在 spring 控制器中检索“simpSessionId”。

我尝试在控制器中注入 ChannelSecurityInterceptor,但没有成功。

有没有办法让我们从 Angular 读取心跳消息到控制器中的 spring ?

【问题讨论】:

    标签: angularjs spring-boot websocket stomp spring-session


    【解决方案1】:

    在您的 Spring REST 控制器中,您将拥有处理程序,这些处理程序被注释为将 Web 请求映射到您的处理程序方法,就像这样

    @<Request_type>Mapping
    your_handler_function() {
    ....
    }
    

    现在在这个函数中使用 RequestContextHolder.currentRequestAttributes().getSessionId(); 来获取特定网络请求的详细信息。它是一种静态方法,您不需要注入任何东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-19
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 2019-01-25
      • 2020-04-09
      • 1970-01-01
      • 2016-09-17
      相关资源
      最近更新 更多