HttpContext.User Iprincipal の子孫オブジェクトを独自の値で一時的に変更するために使用できます。AuthenticationContext によって新しい IPrincipal を渡すだけで済みます。別のユーザーに代わって(一時的に)行動するのに役立つと思います。たとえば、休暇中や開発段階で誰かを置き換える時期などです。したがって、VS2013 プレビュー MVC 5 プロジェクトで使用できます。
たとえば、コントローラーで (IAuthenticationFilter として):
protected override void OnAuthentication(System.Web.Mvc.Filters.AuthenticationContext filterContext)
{
//fill userPrincipal…
filterContext.Principal = new RolePrincipal(userPrincipal);
//Or pass an ActionResult, if you want
filterContext.Result = new RedirectResult("http://www.stackoverflow.com");
}