好了,我终于找到了问题所在。
首先,我使用了几乎所有教程中都提到的MultipartFile,并使用@ModelAttribute将此MultipartFile映射到表单。但这不是真正的问题:我只是清理了实现以使其更标准。
然后,我在DEBUG日志中发现了问题:
20:58:38,370 DEBUG CsrfFilter:95 - Invalid CSRF token found for http://localhost:8080/meltdown/bo/createnews
并且我使用spring推荐来纠正它:(请参阅spring security csrf doc)
将CSRF保护与multipart / form-data一起使用有两种选择。每个选项都有其权衡。
在Spring Security之前放置MultipartFilter
包含CSRF令牌
我使用了第二个选项,并将 ?$ { csrf.parameterName} = $ { csrf.token} 放在表单 *** 作网址的末尾。
它可以工作,但我必须对所有这些东西进行深入了解,并检查真正的内容以及是否需要csrf。
谢谢你们每一个人的帮助
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)