重置Spring Boot应用程序JSESSIONID中的所有会话?

问题描述

我正在对身份验证/注册流程进行故障排除,需要一种快速方法来重置所有会话服务器端(没有curl或其他客户端注销魔术!)。

是否有Spring Actuator或JMX就绪端点使所有会话无效?

我们将Tomcat用作嵌入式服务器,如果有帮助...

解决方法

似乎有专用的弹簧执行器端点:

https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-endpoints

sessions-允许从Spring Session支持的会话存储中检索和删除用户会话。需要使用Spring Session的基于Servlet的Web应用程序。

https://docs.spring.io/spring-boot/docs/current/actuator-api/html/#sessions-retrieving

21.2。检索单个会话

curl 'http://localhost:8080/actuator/sessions/4db5efcc-99cb-4d05' -i -X GET
curl 'http://localhost:8080/actuator/sessions/4db5efcc-99cb-4d05' -i -X DELETE

启用致动器端点的额外步骤:

management.endpoints.web.exposure.include:
  - env
  - health
  - info
  - sessions