2016-11-21 108 views
0

我有一個簡單的vaadin應用程序創建一個achetype。帶按鈕的頁面已加載,但當您單擊它時,會話已過期。出現此問題僅僅只有這條件Vaadin會話立即過期

  • 會議爲https
  • browsert是IE 11.0.14393.0用於
  • SPNEGO(窗10 Aniversary更新1607之後)

服務器是WildFly 10.1.0.Final

其他瀏覽器(EDGE,火狐,Chrome),WOR很好。在Aniversary更新之前,IE 11也運行良好。

我知道這是不夠的信息,但我不知道什麼是重要的。你能指出我應該檢查什麼/我該怎麼做?

我在日誌和通信中沒有發現任何奇怪的東西。我猜測會話中會出現問題,但我找不到什麼不好:-(

+0

如果你的應用標誌着會話cookie的安全,但您的應用程序服務器未在HTTPS模式下運行,則可以得到這種效果。 –

+0

對不起,我不明白你的意思。正如我寫的,該應用程序與EDGE,Firefox,Chrome一起工作(在與同一臺服務器相同的計算機上)。它在一次更新之後會停止使用IE11。在Aniversary更新之前,它也適用於IE。 – Vlada

回答

1

問題是由內部生成的favicon請求引起的。該請求由IE內部生成,並使用錯誤的會話ID(jsessionID)。服務器創建一個新的會話並用其ID來回答,不幸的是,IE接着使用這個新的會話ID來處理其他請求,其他瀏覽器(和以前的IE版本)正確地使用了原始的jsessionID,而不是返回的作爲與內部生成的圖標的請求的響應

:我已經改變了圖標鏈接我的應用程序內,並指出它們安全服務器區域之外

01。
  @Override 
      public void modifyBootstrapPage(BootstrapPageResponse response) { 
       // FIX for IE11 at Windows 10 after anniversary update 
       response.getDocument().head().getElementsByAttributeValue("rel", "shortcut icon").attr("href", "/static/favicon.ico"); 
       response.getDocument().head().getElementsByAttributeValue("rel", "icon").attr("href", "/static/favicon.ico"); 
      }