在我的MVC项目中,有多个操作,其中请求和响应之间的安全性随[ValidateAntiForgeryToken]
属性而增加。这很好用。当用户将页面保持打开几分钟时(我假设20,(会话状态超时?))然后向服务器发送请求时出现问题。这会导致错误,因为发回的令牌不再与服务器上的令牌匹配。
阅读this个问题,可以通过在使用HandleError
的每个特定操作上添加[ValidateAntiForgeryToken]
属性来解决。
有没有办法为整个网站全局设置?我讨厌分别在每个动作上设置它。
答案 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);
}