2009-08-20 102 views
3

我需要知道Tomcat(6.x)中的哪個類負責將SessionID放入cookie或將其附加到請求中。 這是否在所有過濾器通過後完成?Apache Tomcat(6.x)SessionID放置

我需要修改的SessionID在響應被髮送到瀏覽器...

回答

5

會話ID是由Tomcat的會話管理器設置 - 有許多不同的實現。如果您在執行應用程序期間更改會話ID,則可能會破壞會話管理器所做的一些假設。

要更改ID,您必須實現自己的會話管理器。執行此操作的「標準」方式是擴展ManagerBase。您還可以擴展StandardManager並覆蓋generateSessionId()。爲了讓Tomcat使用自定義會話管理器,在server.xml中看看ContextManager配置

生成自己的會話ID時非常小心。服務器不知道cookie中的ID是否有效。如果攻擊者可以猜出您的ID序列,他可以通過在他的HTTP客戶端中設置cookie值來竊取其他用戶的會話。