2016-11-21 89 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"); 
      }