我注意到jsessionId会被发送到服务器,因此在过滤器中我实际上可以从cookie中获取过期的会话ID。
可以像下面那样放置过滤器逻辑吗?
Cookie jsessionCookie = getSessionIdCookies(request);
Session session = request.getSession(false);
if (session == null || !(jsessionCookie.getValue().equals(session.getId())) {
//this should be a timeout handling
....
} else {
// normal moving forward
}
由于session == null
也可能是因为新请求(可以通过设置特定的过滤规则来过滤掉),我可以更依赖!(jsessionCookie.getValue().equals(session.getId())
吗?
甚至可以将request.getSession(false)
更改为request.getSession()
并始终将Cookie与会话ID进行比较?
会话超时管理是否有更好的管理实践?