aprecio a esta pregunta es un poco viejo, pero esto puede ayudar a alguien .
Para un 401 probablemente verá la página 401 no autorizada estándar, incluso si ha agregado 401 a la sección de clientes en su web.config. Leí que al usar IIS y Autenticación de Windows la verificación ocurre antes de que ASP.NET siquiera vea la solicitud, por lo tanto, ves la página en blanco en Cassini y en IIS es la propia 401.
Para mi proyecto, edité el archivo Global.asax para redirigir a una ruta que había creado para 401 errores, enviando al usuario a la vista "No autorizado para ver esto".
En el Global.asax:
void Application_EndRequest(object sender, System.EventArgs e)
{
// If the user is not authorised to see this page or access this function, send them to the error page.
if (Response.StatusCode == 401)
{
Response.ClearContent();
Response.RedirectToRoute("ErrorHandler", (RouteTable.Routes["ErrorHandler"] as Route).Defaults);
}
}
y en el Route.config:
routes.MapRoute(
"ErrorHandler",
"Error/{action}/{errMsg}",
new { controller = "Error", action = "Unauthorised", errMsg = UrlParameter.Optional }
);
y en el controlador:
public ViewResult Unauthorised()
{
//Response.StatusCode = 401; // Do not set this or else you get a redirect loop
return View();
}
que quiere decir si muevo la aplicación a IIS que debería ver el ¿pagina personalizada? o simplemente debería ver la página estándar IIS 401? –
Verá el 401. –