标题总结得很好。我要求满足应该满足的条件,因此Spring决定发送回X-XSRF-TOKEN
响应标头。
我可以看到我的很多请求都是在不需要的情况下使用这样的标题回复响应。例如,当我发送GET请求时,即使我为请求设置了document.getElementById("#<%=prftdiv.ClientID%>").style='display:block'
,它也会获得带有该标头集的响应。但对于具有上述请求标头的POST请求,将阻止Spring发回set-cookie标头。所以我想知道应该满足的条件是什么,所以Spring决定寄回一个。
答案 0 :(得分:1)
我花了一些时间跟踪Spring Security的源代码,我自己找到了答案。
首先,我不知道CSRF是如何工作的,跟踪代码有助于我完全理解它。我认为这是值得了解的事情。这是从CSRF角度发送和接收的请求和响应的场景:
至于我的问题的答案,正如我在第二步中提到的,如果没有向服务器发送cookie(带有XSRF-TOKEN名称),则会生成cookie。它不依赖任何其他因素 - 所以永远!