我的每一张表格都是类型
<form id="addform" asp-area="Admin" asp-controller="Departments" asp-action="Add" data-ajax="true" data-ajax-method="post" data-ajax-success="onSuccess" data-ajax-failure="onFailure" data-ajax-begin="onBegin">
</form>
我还在每个ajaxSend请求上附加了RequestVerificationToken
$(document).ajaxSend(function (e, xhr, options) {
debugger;
if (options.type.toUpperCase() == "POST") {
var token = $("input[name='__RequestVerificationToken']").val();
xhr.setRequestHeader("__RequestVerificationToken", token);
}
});
我的控制器是这样的
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Add(DepartmentViewModel departmentViewModel)
{
return View();
}
现在,它在本地运行良好,但在实时服务器上运行不正常。一些请求工作正常,在很少的请求之后,它会返回400个错误请求。
我试过很多方法,但都是徒劳的。我需要这个安全性,否则我会跳过同样的
发布于 2021-06-26 12:58:19
标头名称应为不带前导下划线的RequestVerificationToken
。带有下划线的版本是在将其作为表单值发布时应使用的名称。您可以将其配置为其他内容:
https://www.learnrazorpages.com/security/request-verification#configuration
https://stackoverflow.com/questions/68139749
复制