2012-06-21 16 views
1

我們無法在JSP中實現一個很好的會話機制。我們的要求之一是每個用戶只允許一個會話,不允許打開另一個會覆蓋前一個會話。這意味着我們需要一個非常可靠的會話系統,因爲失去您的會話意味着等待會話超時...... 我們有一個問題與由servlet提供的所有會話機制:JSP的可靠會話機制

  • URL重寫:一切工作正常,但...它避免我們做緩存的東西(mod_pagespeed無法合併文件;我們正在使用CDN ...)
  • Cookies:當然,我們有一些客戶,阻止餅乾...
  • https Id:不可靠,如果連接重置,會話將丟失。某些瀏覽器會自動重新初始化連接。如果您在移動時使用網站(例如從街道上的移動設備上),則連接將根據現場情況而變化。

完美的解決方案是使用Rewrite + Cookie和取消激活資源重寫。知道我們必須使用c:url標記,因爲我們的應用程序將安裝在多個域中。

關於完美會話機制的任何想法?

回答

0

標準CookiesURL RewritingSSL Session ID是處理會話的最佳標準方式。

是的,如果你可以做出一些Unique id from a given request,你肯定可以用你自定義的方式處理會話。唯一標識只能從以下請求參數中推導出來:

  • 請求URL:URL重寫。一個標準的最佳途徑。
  • 標題:不可能與此。客戶端無法發送自定義標頭
  • 遠程套接字地址:這又是完美的,因爲它們之間有代理。
  • 餅乾:一種標準的最佳方式。
  • 隱藏窗體字段:這隻適用於POST請求。
+0

好的,結論:不,沒有魔術...... – tibo