2017-09-13 96 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"); 

查找到: