在一项操作上覆盖全局AutoValidateAntiforgeryTokenAttribute

时间:2019-05-07 18:21:28

标签: asp.net-mvc asp.net-core antiforgerytoken

我使用的是Startup.cs中配置的全局AutoValidateAntiforgeryTokenAttribute,但是我需要针对两个Action禁用它,是否有方法可以覆盖它?当整个应用程序中只有两个不需要该属性时,我不想将其添加到每个操作中...

public IServiceProvider ConfigureServices(IServiceCollection services)
{
  services.AddMvc(options => {
    options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute()); 
  });
}

1 个答案:

答案 0 :(得分:0)

搜索文档一段时间后,我找到了答案...可以使用IgnoreAntiforgeryToken属性修饰该操作方法。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.ignoreantiforgerytokenattribute?view=aspnetcore-2.2

[HttpPost]
[AllowAnonymous]
[IgnoreAntiforgeryToken]
public async Task<IActionResult> MyAction()
{ ... }