J'utilise Spring Sessions avec Postgres. Les sessions sont conservées dans ma base de données Postgres en utilisant le JdbcOperationsSessionRepository
.Pourquoi mes Spring Sessions sont-elles supprimées de mon magasin JDBC?
La période d'inactivité par défaut que j'utilise pour mes sessions est de 30 jours. Une fois qu'un utilisateur se connecte, je le fais request.getSession().setMaxInactiveInterval()
et le change en 180 jours.
Toutefois, pour une raison quelconque, les 180 jours ne sont pas respectés et les sessions sont supprimées toutes les heures. Par exemple:
Cette séance aurait duré 180 jours, mais il a été supprimé dès l'heure suivante a commencé.
Est-ce que quelqu'un sait comment je peux empêcher ces sessions d'être supprimées et les faire rester pendant 180 jours?
Je suppose que this function a quelque chose à voir avec ça.
est ici la partie de mon application qui étend l'intervalle inactif max de l'utilisateur:
private void setupSession(HttpServletRequest request, User user) {
HttpSession session = request.getSession();
session.setMaxInactiveInterval(15552000);
session.setAttribute("user-id", user.id);
}
Pouvez-vous poster votre configuration? – codependent
Si j'ai bien compris ... vous voulez que les utilisateurs non identifiés aient une durée d'expiration de session de 30 jours et 180 jours d'utilisateurs connectés? – codependent
Il s'avère que c'est un bug dans la bibliothèque: https://github.com/spring-projects/spring-session/issues/580 – RainSear