В случае, если вы не хотите ставить [HandleError]
атрибут всех действий, которые [ValidateAntiForgeryToken]
, вы можете добавить пользовательский фильтр для ваших глобальных фильтров:
в Global.asax под Application_Start()
:
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
, а затем:
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new AntiForgeryTokenFilter());
}
}
AntiForgeryTokenFilter.cs:
public class AntiForgeryTokenFilter : FilterAttribute, IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
if(filterContext.Exception.GetType() == typeof(HttpAntiForgeryException))
{
filterContext.Result = new RedirectResult("/"); // whatever the url that you want to redirect to
filterContext.ExceptionHandled = true;
}
}
}
большое спасибо, вот что я искал. – davethecoder