简介#
ASP.NET Core Razor Pages 应用默认开启了 AntiforgeryToken 验证,也就是 POST、PUT、PATCH、DELETE 等 HTTP 谓词都会在 Action 被执行前验证 AntiforgeryToken,也就是会比对 antiforgery cookie 和 antiforgery token 值,缺一不可,如果缺失 cookie 或者 token 的值(请求头或者表单内容中)都会直接响应 400 的错误。
生成方式#
Token 的生成方式有两种。
form 表单#
第一种,通过编写 form
表单,会自动生成 Token 所需的数据:
<form method="post">
...
</form>
手动代码#
第二种是在页面上添加显示代码:
@Html.AntiForgeryToken()