【发布时间】:2016-07-28 19:01:37
【问题描述】:
首先:禁用 CSRF 保护不是一种选择。
澄清依赖关系
compile 'org.springframework:spring-webmvc:4.2.5.RELEASE',
'org.thymeleaf:thymeleaf-spring4:2.1.4.RELEASE',
'com.fasterxml.jackson.core:jackson-databind:2.7.3',
'com.google.guava:guava:19.0',
'org.springframework.security:spring-security-config:4.0.4.RELEASE',
'org.springframework.security:spring-security-web:4.0.4.RELEASE',
'org.thymeleaf.extras:thymeleaf-extras-springsecurity4:2.1.2.RELEASE'
在介绍我们的 Internet Explorer 11 新应用的里程碑时,我突然无法再登录。所以我登录了,我手动注销了,从那以后我就无法登录了。同样在一天后完全关闭我的计算机后,它不再工作了。
同时使用 Chrome、Firefox、Opera 和 Safari 可以正常登录,并且客户可以使用(鼓)Internet Explorer 登录。
真的很烦。那么还有哪些IE用户也会遇到这个问题呢?
登录过程本身正在使用 AJAX。这是一个 PUT 请求。
在这种错误情况下的答案是 HTML 包含此文本 HTTP Status 403 - Expected CSRF token not found. Has your session expired? 等。
如果有人想测试它:http://int.vr-karriere.de/
登录名是“Anmelden”(德国应用程序)
您可以使用任何用户名和密码。
成功后,您将看到“Der Benutzername oder das Password war falsch”。因为服务器处理了请求。
出错时,您只会看到“登录时出错”
我不知道为什么 IE 对我的行为如此糟糕。
【问题讨论】:
-
清除浏览器缓存并尝试过?我相信您已经看到了计算机的关闭和重新启动。
-
是的,我也这样做了。 IE 设置为在退出时自动执行此操作。
标签: java spring-security csrf