Я использую сеансы Spring с Postgres. Сеансы сохраняются в моей базе данных Postgres, используя JdbcOperationsSessionRepository
.Почему мои сеансы Spring продолжают удаляться из моего магазина JDBC?
По умолчанию неактивное время, которое я использую для своих сеансов, составляет 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);
}
Можете ли вы разместить свою конфигурацию? – codependent
Если я хорошо понял ... вы хотите, чтобы у неработающих пользователей было время истечения сеанса 30 дней и зарегистрированных пользователей 180 дней? – codependent
Оказывается, это ошибка в библиотеке: https://github.com/spring-projects/spring-session/issues/580 – RainSear