我在我的安全配置中使用它: csrf()。csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
当我浏览页面时,我拥有csrf令牌(X-CSRF-TOKEN)。当我通过在我的angularjs控制器中调用某个方法来发出任何请求时,一切工作正常,该控制器发出一些GET或POST请求。但是,当我尝试通过“操作”(按“提交”按钮)直接从页面发出POST请求时,我没有csrf令牌。如果能分享一些提示,我将不胜感激。
<form id="w0" class="js_form_output" action="/output" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
<button type="submit" class="button button_request">Apply now</button>
</form>
我的POST请求禁止了403,当我在安全配置中禁用csrf时,它可以正常工作。
我在日志中有此消息: o.s.security.web.csrf.CsrfFilter:为http://localhost:8090/output
找到了无效的CSRF令牌我在请求的有效负载中有这个: $ {_ csrf.parameterName}:$ {_ csrf.token}