春天,Angularjs。无法通过动作提交(POST请求)传递CSRF令牌。不是JSP,不是Thymeleaf

时间:2019-07-19 11:50:56

标签: angularjs spring-security csrf

我在我的安全配置中使用它: 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}

0 个答案:

没有答案