我有一个从achetype创建的简单的vaadin应用程序。带有按钮的页面已加载,但是当您单击它时,会话已经过期。在条件:
下,仅 会出现此问题服务器是WildFly 10.1.0.Final
其他浏览器(EDGE,Firefox,Chrome)运行正常。在Aniversary更新之前,IE 11也可以运行。
我知道这些信息不够,但我不知道什么是重要的。你能指出我应该检查/应该做什么吗?
我在日志和通讯中找不到任何奇怪的东西。我猜测会话会有问题,但我找不到坏的东西:-(
答案 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");
}