2011-09-27 57 views
5

HttpServletRequestgetSession(boolean)方法提到會話完整性。 Tomcat如何保持會話完整性?它使用什麼規則?什麼方法?精確地在引擎蓋下發生了什麼?Tomcat如何保持會話完整性?

編輯

如何,並創建一個特定的會話ID是什麼時候?例如,Tomcat是否依靠IP地址和端口?

回答

1

在Tomcat中,ManagerBase.generateSessionId()方法負責生成會話ID。它會根據隨機數生成會話id。您可以將客戶端的IP地址存儲在會話中並在您的web應用程序中進行檢查,但據我所知,Tomcat並未這麼做。

關於會話完整性:請問您可以定義它嗎?有關於它的Java Servlet Specification, Version 3.0一個段落,但它是不是太多:

7.1.4會話完整性

Web容器必須能夠支持HTTP會話,同時從客戶 服務HTTP請求不支持使用Cookie。爲了滿足這一要求,Web容器通常支持URL重寫 機制。

+1

整個問題是,這個概念沒有明確定義...... – JVerstry

+1

是否值得另一個問題:http://stackoverflow.com/questions/7583752/is-there-a-formal-definition-of-session-關於servlets的完整性 – JVerstry

+1

它看起來像會話完整性==會話跟蹤從另一個問題的答案。 – JVerstry

1

這個blog給出了一些使用Tomcat的會話跟蹤cookie的細節。