J'essaie de faire quelque chose comme this article suggère dans mon site MVC3. Cependant, je ne suis pas sûr de pouvoir utiliser Response.End dans mon action.Utilisation de Response.End dans une action MVC3
Ma question est, comment puis-je retourner un code d'état 401 à partir de mon action si le HttpContext.User == null?
public ActionResult WinUserLogOn(string returnUrl) {
var userName = string.Empty;
if (HttpContext.User == null) {
//This will force the client's browser to provide credentials
Response.StatusCode = 401;
Response.StatusDescription = "Unauthorized";
Response.End();
return View("LogOn"); //<== ????
}
else {
//Attempt to Log this user against Forms Authentication
}
Quel semble être le problème avec le code que vous avez publié? – vcsjones
Je suppose que mon code de réponse et sa description seront remplacés lorsque la vue sera retournée. –
Alors que m.edmondson a raison avec sa réponse, 'Response.End()' va tout vider et tuer le thread, donc peu importe ce que vous faites après 'Response.End', sauf si vous le passez' false' . Ce n'est pas aussi clair que la réponse fournie cependant. – vcsjones