【发布时间】:2011-11-26 06:27:30
【问题描述】:
HttpServletRequest 的getSession(boolean) 方法提到了会话完整性。 Tomcat 如何维护会话完整性?它使用什么规则?什么方法?到底发生了什么?
编辑
如何以及何时创建特定会话 ID?例如,Tomcat 是否依赖 IP 地址和端口?
【问题讨论】:
标签: session tomcat servlets rules integrity
HttpServletRequest 的getSession(boolean) 方法提到了会话完整性。 Tomcat 如何维护会话完整性?它使用什么规则?什么方法?到底发生了什么?
编辑
如何以及何时创建特定会话 ID?例如,Tomcat 是否依赖 IP 地址和端口?
【问题讨论】:
标签: session tomcat servlets rules integrity
在 Tomcat 中,ManagerBase.generateSessionId() 方法负责生成会话 ID。在我看来,会话 ID 是基于随机数生成的。您可以将客户端的 IP 地址存储在会话中并在您的 web 应用程序中检查它,但据我所知 Tomcat 不会这样做。
关于会话完整性:您能定义一下吗?在Java Servlet Specification, Version 3.0 中有一段关于它的内容,但并不算多:
7.1.4 会话完整性
Web 容器必须能够支持 HTTP 会话,同时 为来自不支持使用 cookie 的客户端的 HTTP 请求提供服务。到 满足这个要求,Web 容器通常支持 URL 重写 机制。
【讨论】:
blog 提供了一些有关使用 Tomcat 的 cookie 进行会话跟踪的详细信息。
【讨论】: