3

有一个 adminUserA可以使另一个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没有调用该方法。

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

4

0 回答 0