Java 预登录会话id?

Java 预登录会话id?,java,session,tomcat,authentication,jsessionid,Java,Session,Tomcat,Authentication,Jsessionid,我在Tomcat上有一个带有表单身份验证的简单webapp,请注意,每当用户刚进入登录页面时,甚至在任何登录尝试发生之前,都会设置一个“预登录”JSESSIONID 这是Tomcat中的默认行为吗?为什么Tomcat只为加载登录页面而生成JSESSIONID?它不应该只在实际登录后生成会话id吗?(不是因为有人刚刚加载了登录页面!) 注意:我应该提到我的整个webapp(登录页面和所有页面)都是通过https托管的;它的任何部分都不是通过http公开的。而且我没有使用JSP。登录后,Tomcat

我在Tomcat上有一个带有表单身份验证的简单webapp,请注意,每当用户刚进入登录页面时,甚至在任何登录尝试发生之前,都会设置一个“预登录”JSESSIONID

这是Tomcat中的默认行为吗?为什么Tomcat只为加载登录页面而生成JSESSIONID?它不应该只在实际登录后生成会话id吗?(不是因为有人刚刚加载了登录页面!)

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


但是为什么它首先要设置一个“预登录”JSESSIONID?

如果使用Tomcat的形式auth,它必须将初始请求存储在某个地方,以便对auth执行无状态重定向。之后,它将重新评估请求。保存在中。您应该禁用该标志。

我知道JSP在默认情况下创建会话,而我没有使用JSP@ManRow,我已经更改了我的答案。啊,那么,为了澄清一下,“SavedRequest”只是一个用户在服务器向他/她显示登录屏幕之前试图发出的请求?因此,如果我理解正确,登录屏幕将发布到
j_security_check
,然后服务器将通过转发到用户的“SavedRequest”来接受成功的登录尝试?@ManRow,是的,您可以检查提供的链接,您将看到。谢谢!正是我想要的:)