MVC AntiForgeryToken 异常 - 全局处理

MVC AntiForgeryToken exception - Handle globally

在我的 MVC 项目中,有多个操作通过 [ValidateAntiForgeryToken] 属性提高了请求和响应之间的安全性。这很好用。当用户保持页面打开几分钟(我假设 20,(会话状态超时?))然后向服务器发送请求时,就会出现问题。这会导致错误,因为发回的令牌不再与服务器上的令牌匹配。

阅读this问题,可以通过在每个使用[ValidateAntiForgeryToken].

的特定动作上添加HandleError属性来解决

有没有办法对整个网站进行全局设置?我讨厌在每个动作上单独设置它。

您可以在 global.asaxApplication_Start() 事件中全局注册一个 ActionFilter

protected void Application_Start()
{ 
    // Register global filter
    GlobalFilters.Filters.Add(new HandleErrorAttribute());

    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
}