如何在spring boot控制器中检索 "simpSessionId"?

问题描述 投票:0回答:1

前端:Angular

后端:弹簧靴

我可以通过下面的EventListeners来获取simpessionId。

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

一旦Stomp会话被连接,我就无法检索 "simpSessionId"。

我有一个要求,当有一个来自angular的REST调用时,要在spring控制器中检索 "simpSessionId"。

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

有什么方法可以在控制器中读取从Angular到spring的心跳信息吗?

angularjs spring-boot websocket stomp spring-session
1个回答
0
投票

在你的Spring REST控制器中,你会有一些处理程序,这些处理程序被注解为web请求到你的处理方法的映射,就像这样。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.