我正在使用Jetty的会话管理,并希望通过“记住我”来实现简单的登录。选项。
因此,如果用户不想被记住,我希望JSESSIONID cookie一直存在,直到浏览器会话关闭。如果用户选择记住,cookie将在30天内到期。
我在启动时使用SessionCookieConfig
配置Cookie详细信息,但我无法按要求更改。
那么有没有办法动态更改每次登录请求的最大年龄? 我能看到的唯一方法是从请求中获取cookie,然后更改最大年龄:
//in LoginServlet
doPost(HttpServletRequest request, HttpServletResponse response) {
//... Get remember me option from request
request.getCookies();
//... Find cookie in array by name JSESSIONID
if (rememberMe) {
sessionCookie.setMaxAge(60 * 60 * 24 * 30);
} else {
sessionCookie.setMaxAge(-1);
}
}
但是我想尽可能地避免处理会话并将其留在容器中。
还有其他选择吗?
答案 0 :(得分:0)
jsessionid cookie由容器处理,因此我不建议您尝试重新调整它。相反,有关如何实现“记住我”功能的stackoverflow的大量信息:尝试here。