2017-09-13 97 views

回答

3

ASP.NET Core将查找此cookie来查找X-CSRF令牌。

ValidateAntiForgeryToken是一个操作筛选器,它对执行应用此筛选器的操作的请求将被阻止,除非请求包含有效的防伪标记。

一般来说,ASP.NET Core可能会在cookie或标头中查找令牌。所以,你可能有这种情况时的

  • 代替饼干头用来传递令牌
  • 的cookie标记具有比ASP.NET核心预期不同的名称。

默认情况下,ASP.NET Core将生成并预期以DefaultCookiePrefix(“.AspNetCore.Antiforgery。”)开头的唯一Cookie名称。

这个目标可以使用防伪选项CookieName被重写:

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

如果谈论头,名称可以由指定:

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

查找到: