登录前会话ID?

时间:2013-11-26 09:36:06

标签: java session tomcat authentication jsessionid

我在Tomcat上有一个带有表单身份验证的简单webapp,并注意到只要用户只是 到登录页面就会设置“登录前”JSESSIONID任何登录尝试都会发生

这是Tomcat中的默认行为吗?为什么Tomcat仅为加载登录页面生成JSESSIONID?在实际登录后,它不应该生成任何会话ID 吗? (不是因为有人加载登录页面!)

注意:我应该提到我的整个 webapp(登录页面和所有)是通过https托管的;没有任何部分通过http公开。我也没有使用 JSP。登录后,Tomcat会生成第二个 JSESSIONID,与第一个不同。这是用户在其余会话中使用的那个。

但是为什么首先设置了“登录前”JSESSIONID

1 个答案:

答案 0 :(得分:1)

如果您使用Tomcat表单身份验证,则必须将初始请求存储在某处以执行auth的无状态重定向。之后,它将重新评估请求。 SavedRequest保存在session中。您应该禁用changeSessionIdOnAuthentication标记。