Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .Net Core中的.AspNetCore.Antiforgery.xxxxxxx cookie是什么?_C#_.net_Asp.net Core_.net Core_Antiforgerytoken - Fatal编程技术网

C# .Net Core中的.AspNetCore.Antiforgery.xxxxxxx cookie是什么?

C# .Net Core中的.AspNetCore.Antiforgery.xxxxxxx cookie是什么?,c#,.net,asp.net-core,.net-core,antiforgerytoken,C#,.net,Asp.net Core,.net Core,Antiforgerytoken,我试图在.Net Core中使用ValidateAntiForgeryToken,但我得到的是缺少.AspNetCore.Antiforgery.xxxxxxx cookie 这是什么.AspNetCore.Antiforgery.xxxxxxx cookie?ASP.NET Core查找此cookie以查找X-CSRF令牌 ValidateAntiForgeryToken是一个操作过滤器,可应用于单个操作、控制器或应用程序的全局操作。对应用此筛选器的操作的请求将被阻止,除非该请求包含有效的反伪

我试图在.Net Core中使用ValidateAntiForgeryToken,但我得到的是缺少.AspNetCore.Antiforgery.xxxxxxx cookie


这是什么.AspNetCore.Antiforgery.xxxxxxx cookie?

ASP.NET Core查找此cookie以查找X-CSRF令牌

ValidateAntiForgeryToken
是一个操作过滤器,可应用于单个操作、控制器或应用程序的全局操作。对应用此筛选器的操作的请求将被阻止,除非该请求包含有效的反伪造令牌

通常,ASP.NET Core可能会在cookie或标头中查找令牌。所以你可能会在

  • 标头用于传递令牌,而不是cookie
  • 带有令牌的cookie的名称与预期的ASP.NET核心不同
默认情况下,ASP.NET核心将生成并期望一个以DefaultCookiePrefix(“.AspNetCore.Antiforgery.”开头的唯一cookie名称

这可以使用反伪造选项覆盖
CookieName

services.AddAntiforgery(options => options.CookieName = "X-CSRF-TOKEN-COOKIENAME");
用于:

参考:

对于该用途,请执行以下操作:

services.AddAntiforgery(options => options.Cookie.Name = "X-CSRF-TOKEN-COOKIENAME");
如果谈论标题,则可以通过以下方式指定名称:

services.AddAntiforgery(options => options.HeaderName = "X-XSRF-TOKEN");

研究:

  • 中的自述包含指向示例的链接
  • 因此:

或。。。如果默认情况下已添加了
Antiforgery
,则可以按以下方式进行配置: