私はPostgresでSpringセッションを使用しています。セッションはJdbcOperationsSessionRepository
を使用して私のPostgresデータベースに保存されます。SpringのセッションがJDBCストアから削除され続けるのはなぜですか?
私のセッションで使用しているデフォルトの非アクティブ時間は30日間です。ユーザーがログインすると、私はrequest.getSession().setMaxInactiveInterval()
をして180日に変更します。
しかし、何らかの理由で180日は尊重されず、セッションは1時間ごとに削除され続けます。たとえば:
このセッションでは、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