MVC AntiForgeryToken异常 - 全局处理

时间:2015-11-11 11:00:07

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

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

阅读this个问题,可以通过在使用HandleError的每个特定操作上添加[ValidateAntiForgeryToken]属性来解决。

有没有办法为整个网站全局设置?我讨厌分别在每个动作上设置它。

1 个答案:

答案 0 :(得分:2)

您可以在ActionFilter活动的global.asax内全球注册Application_Start()

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

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