J'apprécie cette question est un peu vieux, mais cela peut aider quelqu'un .
Pour un 401, vous verrez probablement la page 401 non autorisée, même si vous avez ajouté 401 à la section customerrors de votre fichier web.config. J'ai lu que lors de l'utilisation de IIS et l'authentification Windows la vérification se produit avant ASP.NET voit même la demande, d'où vous voyez la page vide sur Cassini et sur IIS elle-même 401.
Pour mon projet j'ai édité le fichier Global.asax pour rediriger vers un itinéraire que j'avais créé pour les erreurs 401, en envoyant l'utilisateur à la vue "Unauthorized to see this".
Dans le 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);
}
}
et dans le Route.config:
routes.MapRoute(
"ErrorHandler",
"Error/{action}/{errMsg}",
new { controller = "Error", action = "Unauthorised", errMsg = UrlParameter.Optional }
);
et dans le contrôleur:
public ViewResult Unauthorised()
{
//Response.StatusCode = 401; // Do not set this or else you get a redirect loop
return View();
}
vous dire si je propose l'application pour IIS je devrais voir page personnalisée? ou je devrais juste voir la page IIS 401 standard? –
Vous verrez le 401. –