Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
Asp.net core 如何在Razor页面中禁用CSRF防伪功能_Asp.net Core - Fatal编程技术网

Asp.net core 如何在Razor页面中禁用CSRF防伪功能

Asp.net core 如何在Razor页面中禁用CSRF防伪功能,asp.net-core,Asp.net Core,我想在TestServer下运行时禁用CSRF检查,这样在运行自动测试时就不必读取和发送令牌 由于大量有用的魔法潜入ASP.NET内核,我被卡住了 模板代码中没有明显添加此项的内容,但在此服务期间查看调试器中的筛选器。AddMvcoptions=>options.filters调用不显示全局筛选器 此代码也不起作用 mvcOptions.Filters.Add<IgnoreAntiforgeryTokenAttribute>(0); 和Antiforgery.Options没有禁用

我想在TestServer下运行时禁用CSRF检查,这样在运行自动测试时就不必读取和发送令牌

由于大量有用的魔法潜入ASP.NET内核,我被卡住了

模板代码中没有明显添加此项的内容,但在此服务期间查看调试器中的筛选器。AddMvcoptions=>options.filters调用不显示全局筛选器

此代码也不起作用

mvcOptions.Filters.Add<IgnoreAntiforgeryTokenAttribute>(0);
和Antiforgery.Options没有禁用选项

我该怎么做?

试试这个:

services.AddMvc().AddRazorPagesOptions(o =>
{
    o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
});
您也可以在PageModel中忽略它:

[IgnoreAntiforgeryToken(Order = 1001)]
public class IndexModel : PageModel
关于订单参数:内置的[ValidateAntiforgeryToken] decorator的订单为1000,因此设置 [IgnoreAntiforgeryToken]到1001将覆盖它