Spring CSRF令牌问题

时间:2017-05-31 03:02:13

标签: java spring jsp spring-mvc csrf

我正在使用spring mvc 4测试上传文件。我有这个jsp文件来上传文件:

MediaRecorder.stream

我的控制器:

<c:url var="addAction" value="/create/uploadFile" ></c:url>
<form method= "POST" action="${addAction}" enctype="multipart/form-data">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
    File to upload: <input type="file" name="file"/>

    <input type="submit" value="Upload"> Press here to upload the file!
</form>

点击“提交”时出现此错误

@RequestMapping(value = "/create/uploadFile", method = RequestMethod.POST)
public String uploadFileHandler(@RequestParam("file") MultipartFile file) {
    Print successful and start process ....
}

我不明白的是在我的登录页面中。我使用相同的过程,它可以工作,我可以登录并转到上传页面。的login.jsp:

Invalid CSRF Token &#39;null&#39; was found on the request parameter &#39;_csrf&#39; or header &#39;X-CSRF-TOKEN&#39;.      

我的春天安全:

<form name='loginForm' action="<c:url value='/j_spring_security_check' />" method='POST'>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />

     username and password and submit ....
</form>

知道为什么它适用于login.jsp而不是创建上传。?

我还尝试在模型中绑定上传表单并使用form:form但仍然无法正常工作。

0 个答案:

没有答案