当使用Windows身份验证来保护ASP.NET Core应用程序并在进行表单提交时,可能会遇到405错误,这是因为Windows身份验证的身份验证模式与表单提交模式不兼容。
为了解决此问题,可以使用以下代码片段将身份验证模式更改为'默认”模式:
services.AddAuthentication(IISDefaults.AuthenticationScheme);
另外,可以通过启用Antiforgery来进一步保护表单:
services.AddAntiforgery(options =>
{
options.HeaderName = "X-CSRF-TOKEN";
});
然后,在表单中添加以下代码以包含防伪令牌:
这样就可以在Windows身份验证下成功提交表单了。