HttpAntiForgeryException이 발생하면 내 양식을 제출할 때 새 토큰을 사용하여 양식을 깨끗한 버전으로 다시 보내고 싶습니다. 첫 번째 장소에서 양식보기를로드 한 원래 컨트롤러 및 작업 및 오류 메시지 표시HttpAntiForgeryException (ValidateAntiForgeryToken)에 대한 호출 컨트롤러 및 작업으로 리디렉션
나는 이것이 좋은 사용자 경험을 할 것이라고 믿지만, 가능한지 또는 보안 문제가 있는지 확실하지 않습니다.
현재로서는 BaseController에서 override void OnException(ExceptionContext filterContext)
을 사용하고 있습니다.하지만 어떻게 할 수 있는지, 또는 할 수있는 경우 예외를 넘긴 액션과 컨트롤러를 얻을 수 없습니다. 액션은 httppost 버전이지만 폼보기를로드 한 원래 액션과 동일한 이름을 갖습니다.
filterContext.Exception의 stacktrace에서 가져올 방법이 있습니까?
더 좋은 방법이 있습니까?
아니면 바보 같은 생각입니까? 귀하의 의견 :
이에 대한
많은 감사는 MVC 4 닷넷 4.0 응용 프로그램을위한 것입니다.
protected override void OnException(ExceptionContext filterContext)
{
if (filterContext.Exception is HttpAntiForgeryException)
{
this.RedirectToAction(
filterContext.RouteData.Values["action"].ToString(),
filterContext.RouteData.Values);
filterContext.ExceptionHandled = true;
}
base.OnException(filterContext);
}
대안이는 handleError 속성을 사용하는 것입니다,하지만 하나는 일반적으로 (주어진보기로 리디렉션 할 수 있다는 :
대단히 감사합니다. 이것은 올바른 컨트롤러와 동작으로 나를 리디렉션하는 것처럼 보이지만 단지 빈 페이지를 보여주고 리디렉션 할 작업에 배치 한 중단 점을 맞추지 않습니다. – tekiegirl