【发布时间】:2016-07-29 04:10:54
【问题描述】:
我正在使用带有 Postgres 的 Spring Sessions。会话使用JdbcOperationsSessionRepository 持久化到我的 Postgres 数据库中。
我用于会话的默认非活动时间是 30 天。用户登录后,我会使用 request.getSession().setMaxInactiveInterval() 并将其更改为 180 天。
但是由于某种原因,180 天没有得到尊重,并且会话每小时都会被删除。例如:
此会话应持续 180 天,但在下一小时开始时就被删除了。
有谁知道我可以如何阻止这些会话被删除并让它们保留 180 天?
我猜this function 与此有关。
这是我的应用程序中延长用户最大不活动时间间隔的部分:
private void setupSession(HttpServletRequest request, User user) {
HttpSession session = request.getSession();
session.setMaxInactiveInterval(15552000);
session.setAttribute("user-id", user.id);
}
【问题讨论】:
-
你能发布你的配置吗?
-
如果我理解得很好......您希望未登录用户的会话到期时间为 30 天,登录用户的会话到期时间为 180 天?
标签: java spring postgresql session spring-session