以编程方式过期的 spring session 导致 rest-api 用户面临意外响应

问题描述

有一个 adminUser WHERE Val(EMP_NUM) BETWEEN 103 AND 109 可以使另一个 A 用户 rest-api 的会话过期。

B

现在,当用户 Collection<SessionInformation> usersSessions = sessionRegistry.getAllSessions(user,true); usersSessions.forEach((temp) -> { temp.expireNow(); }); 第一次尝试发出任何休息请求时,它会得到以下 B 响应,而没有任何 200

此会话已过期(可能是由于以同一用户身份尝试多个并发登录)。

我想用正确的 content-type 向用户发送诸如 INVALID_SESSION 之类的正确响应,因此我尝试使用自定义 HttpStatus(有效)拦截 servlet在其他情况下),我观察到甚至没有调用 org.springframework.web.servlet.HandlerInterceptor 方法。

似乎在会话验证过程中正在发送响应。我不知道这实际上是如何工作的。有没有办法获得自定义响应? preHandle 有用吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...