HandleUnauthorizedRequest in ASP.Net Web-API
Ich bin die Entwicklung einer ASP.Net Web-API-Anwendung und ich habe AuthorizeAttribute für die Authentifizierung. Wenn die Authentifizierung fehlschlägt, wird der code, der ausgeführt wird ist dies.
protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
{
HttpContext.Current.Response.AddHeader("AuthenticationStatus", "NotAuthorized");
actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Forbidden);
return;
}
Dieser code führt zur Anzeige einer Unerlaubten Anfrage Seite aus dem browser, aber was ich will ist die Anzeige einer benutzerdefinierten Seite, die ich entworfen haben. Wie mache ich das? Jede Hilfe ist willkommen.
Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, können Sie umleiten, um Ihre benutzerdefinierte Seite in HandleUnathorizedRequest wenn Sie mit WebApi. Der code Ergebnis zeigt nicht Autorisierte Anforderung Seite, weil das ist, wie Ihr browser reagiert 403-code. WebApi funktioniert auf HttpMessage exchange und standardmäßig verwendet entweder Json oder Xml Medien Typ. Wenn Sie zurückkehren möchten Ihre individuelle Seite als text/html, dann müssen Sie schreiben Sie Ihre eigenen Medien-Formatierer, wie hier beschrieben: http://www.asp.net/web-api/overview/formats-and-model-binding/media-formatters.
Check this out: http://weblogs.asp.net/jgalloway/archive/2012/03/23/asp-net-web-api-screencast-series-part-6-authorization.aspx
Was es im Grunde sagt, Sie haben zu prüfen, das Ergebnis-code auf der client-Seite, und im Fall es ist ein 401 (Unauthorized) leiten den Benutzer auf die benutzerdefinierten Seite, die Sie entwickelt haben:
Hoffe es hilft, Grüße