Vaadin会议立即到期

时间:2016-11-21 14:22:20

标签: session vaadin7

我有一个从achetype创建的简单的vaadin应用程序。带有按钮的页面已加载,但是当您单击它时,会话已经过期。在条件

下,仅 会出现此问题
  • 会话是https
  • browsert是IE 11.0.14393.0(在Windows 10 Aniversary Update 1607之后)
  • 使用SPNEGO

服务器是WildFly 10.1.0.Final

其他浏览器(EDGE,Firefox,Chrome)运行正常。在Aniversary更新之前,IE 11也可以运行。

我知道这些信息不够,但我不知道什么是重要的。你能指出我应该检查/应该做什么吗?

我在日志和通讯中找不到任何奇怪的东西。我猜测会话会有问题,但我找不到坏的东西:-(

1 个答案:

答案 0 :(得分:1)

问题是由内部生成的favicon请求引起的。此请求由IE内部生成,并使用错误的会话ID(jsessionID)。服务器创建一个新会话并使用其ID进行回答。不幸的是,IE然后将此新会话ID用于其他请求。其他浏览器(以及之前的IE版本)正确使用原始jsessionID,而不是作为对内部生成的favicon请求的响应而返回的浏览器。

解决方案:我更改了应用程序中的favicon链接,并将它们指向安全服务器区域之外。

            @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");
            }