AntiforgeryValidationException:不存在所需的防伪标头值"RequestVerificationToken"

Sha*_*mun 3 c# antiforgerytoken .net-core asp.net-core

我想授权以下云提供商 localhost上,在ConfigureServices方法,我Startup.cs文件有

services.AddAntiforgery(options => options.HeaderName = "RequestVerificationToken");
Run Code Online (Sandbox Code Playgroud)

在[HttpGet]控制器方法中,我试图用以下方法验证请求:

await _antiforgery.ValidateRequestAsync(HttpContext);
Run Code Online (Sandbox Code Playgroud)

这是抛出异常.任何人都可以在这里建议我做错了什么?

谢谢!

Iva*_* R. 5

GET方法不应该更改任何数据,因此它被认为是一种安全的方法,并且不需要从CSFR保护此方法.从示例中可以看出,只有POST方法受到保护.您的浏览器向您的站点发送GET请求而没有额外的防伪标头,这就是抛出异常的原因.